Chamar cadastro do cliente, atráves do dbgrid!
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
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
Curtidas 0
Respostas
Eriley Barbosa
08/09/2010
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.
GOSTEI 0
Anderson Oliveira
08/09/2010
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;
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;
GOSTEI 0
Eriley Barbosa
08/09/2010
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;
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;
GOSTEI 0
Anderson Oliveira
08/09/2010
ok,
(FRCADASTRO)
NAME
IBCadastro
SQL
select * from CADASTRO
(FRCADASTRO)
NAME
IBCadastro
SQL
select * from CADASTRO
GOSTEI 0
Eriley Barbosa
08/09/2010
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
GOSTEI 0
Anderson Oliveira
08/09/2010
NAME
IBListaContatos
SQL
select * from CADASTRO
pois ambos estao utilizando a mesma tabela no banco de dados - tbCADASTRO
IBListaContatos
SQL
select * from CADASTRO
pois ambos estao utilizando a mesma tabela no banco de dados - tbCADASTRO
GOSTEI 0
Eriley Barbosa
08/09/2010
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.
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.
GOSTEI 0
Anderson Oliveira
08/09/2010
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'
mas agora nao puxa nem um registro no grid na hora de compilar =x
a chave primaria da tabela é o codigo
chamado de 'COD'
GOSTEI 0
Eriley Barbosa
08/09/2010
No onshow do frCadastro, você abriu o IBCadastro?
if not IBCadastro.Active then
IBCadastro.Open;
GOSTEI 0
Anderson Oliveira
08/09/2010
sim fiz isso,
mas e no form FrListaContatos
Como chamo ele no menuprincipal?
mas e no form FrListaContatos
Como chamo ele no menuprincipal?
GOSTEI 0
Eriley Barbosa
08/09/2010
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;
GOSTEI 0