Fórum Chamar cadastro do cliente, atráves do dbgrid! #385819

08/09/2010

0

Sou iniciante na programação delphi, ja faz alguns dias que venho tentando achar uma forma de que:
ao selecionar a linha do registro no formulario de listagem dos clientes no dbgrid, com dois cliques eu queria poder abrir esse registro selecionado no formulario de cadastro para pode editalo.


Resumo da aplicação:

3 Formulários ( TfrPrincipal, TfrCadastro, TfrListaContato)
1 Modulo de dados ( componetes para ligaçao IB )
listagem de dados esta sendo feita com dbgrid.





por hora consegui chamar o formulario de cadastro ao dar dois cliques no dbgrid que esta localizado no tfrlistas contatos, porem , o form de cadastro abre em novo registro, e não como eu queria , ou seja:

ao selecionar a linha do registro no formulario de listagem dos clientes, com dois cliques eu queria poder abrir esse registro selecionado no formulario de cadastro para pode editalo.


obrigado desde já ;D
Anderson Oliveira

Anderson Oliveira

Responder

Posts

08/09/2010

Eriley Barbosa

Para fazer a listagem no dbgrid, você está usando o mesmo componente que usa para cadastro, tipo: ibQryCadClientes no de cadastro e listagem? Preciso de mais informações, tipo name do componente ibquery de cadastro e listagem, sql que está usando nos dois componentes.
Responder

Gostei + 0

08/09/2010

Anderson Oliveira

ERILEY VILAGRANDE BARBOSA
seguinte,
no frCadastro = IBQUERY E DATASOURCEno frListaContatos = IBQUERY E DATASOURCE no md, Ttable e DATA SOURCEdatabase e trasnection  (aba ib)por enquanto estou apenas utilizando um sql para ordenar por nome no dbgrid
e por hora estou utilizando o evendo dbclick do dbgrid
procedure TfrListaContatos.dbgListaDblClick(Sender: TObject);
begin
frCadastro.showmodal;
end;
Responder

Gostei + 0

08/09/2010

Eriley Barbosa

seguinte,
Selecione o IBquery e copie o conteúdo da propriedade Name e SQL e poste aqui. no frCadastro = IBQUERY E DATASOURCE Selecione o IBquery e copie o conteúdo da propriedade Name e SQL e poste aqui. no frListaContatos = IBQUERY E DATASOURCE Este aqui se não é usado na tela de cadastro, não precisa. no md, Ttable e DATA SOURCE database e trasnection  (aba ib) por enquanto estou apenas utilizando um sql para ordenar por nome no dbgrid
e por hora estou utilizando o evendo dbclick do dbgrid
procedure TfrListaContatos.dbgListaDblClick(Sender: TObject);
begin
frCadastro.showmodal;
end;
Responder

Gostei + 0

08/09/2010

Anderson Oliveira

ok,

(FRCADASTRO)
NAME
IBCadastro

SQL
select *  from CADASTRO



Responder

Gostei + 0

08/09/2010

Eriley Barbosa

Faltou o utilizado no formulário da listagem:   Selecione o IBquery e copie o conteúdo da propriedade Name e SQL e poste aqui. no frListaContatos = IBQUERY E DATASOURCE
Responder

Gostei + 0

08/09/2010

Anderson Oliveira

NAME
IBListaContatos
SQL
select *  from CADASTRO


pois ambos estao utilizando a mesma tabela no banco de dados - tbCADASTRO
Responder

Gostei + 0

08/09/2010

Eriley Barbosa

Veja que você está com as duas querys exatamente iguias e isso é redundante: IBCadastro SQL
select *  from CADASTRO
IBListaContatos
SQL
select *  from CADASTRO
Se você no frListaContatos ligar o datasource pela propriedade Dataset ao frCadastro.IBCadastro,
o registro que você selecionar no dbgrid será o mesmo que vai aparecer no formulário.
Dai você até pode excluir o IBListaContatos. Se não quiser fazer isso, vai ter de me passar qual é a chave primaria da tabela CADASTRO.
Responder

Gostei + 0

08/09/2010

Anderson Oliveira

olá amigo, fiz oque vc mensionou, deletei o ibListacontatos, e liguei o datasource com o frCadastro.IBCadastro
mas agora nao puxa nem um registro no grid na hora de compilar =x


a chave primaria da tabela é o codigo


chamado de 'COD'


Responder

Gostei + 0

08/09/2010

Eriley Barbosa

No onshow do frCadastro, você abriu o IBCadastro? if not IBCadastro.Active then   IBCadastro.Open;
Responder

Gostei + 0

08/09/2010

Anderson Oliveira

sim fiz isso,

mas e no form FrListaContatos

Como chamo ele no menuprincipal?


Responder

Gostei + 0

08/09/2010

Eriley Barbosa

Se for chamar pelo menu principal, vai ter de colocar o código no onshow do FrListaContatos: if not frCadastro.IBCadastro.Active then   frCadastro.IBCadastro.Open;  Para chamar o FrListaContatos no menu principal basta digitar: FrListaContatos.ShowModal;
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar