Preenchimento de campos automatico
Boa tarde a todos...
Estou desenvolvendo um sistema para impressão de Nota Fiscal utilizando Delphi 7 juntamente com Firebird 1.5 utilizando a paleta INTERBASE para conectar com o banco de dados.
Tenho várias tabelas entre elas tenho Fornecedor, Clientes, Produtos, NF etc...
Estou montando agora a tela de NF, e gostaria de saber se tem como ao selecionar o cliente, automaticamente seja preenchido o restante dos campos como por exemplo: Endereço, Bairro, Cidade e etc...
Por favor me ajudem....
Obrigado.
Uelinon
Estou desenvolvendo um sistema para impressão de Nota Fiscal utilizando Delphi 7 juntamente com Firebird 1.5 utilizando a paleta INTERBASE para conectar com o banco de dados.
Tenho várias tabelas entre elas tenho Fornecedor, Clientes, Produtos, NF etc...
Estou montando agora a tela de NF, e gostaria de saber se tem como ao selecionar o cliente, automaticamente seja preenchido o restante dos campos como por exemplo: Endereço, Bairro, Cidade e etc...
Por favor me ajudem....
Obrigado.
Uelinon
Uelinton_reis
Curtidas 0
Respostas
Janbaceiredo
19/09/2008
Uelinton,
se vc ao selecionar o cliente vc terá o ID_CLIENTE do cliente selecionado. Correto???
Tendo o ID do cliente selecionado é só realizar um
Colocando esse codigo dentro de uma Query do tipo:
e assim por diante.
se vc ao selecionar o cliente vc terá o ID_CLIENTE do cliente selecionado. Correto???
Tendo o ID do cliente selecionado é só realizar um
SELECT * FROM TBL_CLIENTES WHERE ID_CLIENTE = ID_CLIENTE_SELEC´
Colocando esse codigo dentro de uma Query do tipo:
QYR_CLIENTES.CLOSE; QYR_CLIENTES.SQL.CLEAR; QYR_CLIENTES.SQL.ADD(´SELECT * FROM TBL_CLIENTES WHERE ID_CLIENTE = ID_CLIENTE_SELEC´); QYR_CLIENTES.OPEN; edt_NOME.Text:= QYR_CLIENTES.FieldyByName(´NOME´).AsString; edt_END.Text:= QYR_CLIENTES.FieldyByName(´END´).AsString; edt_BAIRRO.Text:= QYR_CLIENTES.FieldyByName(´BAIRRO´).AsString; edt_CIDADE.Text:= QYR_CLIENTES.FieldyByName(´CIDADE´).AsString;
e assim por diante.
GOSTEI 0
Uelinton_reis
19/09/2008
Uelinton,
se vc ao selecionar o cliente vc terá o ID_CLIENTE do cliente selecionado. Correto???
Tendo o ID do cliente selecionado é só realizar um
Colocando esse codigo dentro de uma Query do tipo:
e assim por diante.
SELECT * FROM TBL_CLIENTES WHERE ID_CLIENTE = ID_CLIENTE_SELEC´
QYR_CLIENTES.CLOSE; QYR_CLIENTES.SQL.CLEAR; QYR_CLIENTES.SQL.ADD(´SELECT * FROM TBL_CLIENTES WHERE ID_CLIENTE = ID_CLIENTE_SELEC´); QYR_CLIENTES.OPEN; edt_NOME.Text:= QYR_CLIENTES.FieldyByName(´NOME´).AsString; edt_END.Text:= QYR_CLIENTES.FieldyByName(´END´).AsString; edt_BAIRRO.Text:= QYR_CLIENTES.FieldyByName(´BAIRRO´).AsString; edt_CIDADE.Text:= QYR_CLIENTES.FieldyByName(´CIDADE´).AsString;
Ok amigo, mas por exemplo.
coloquei o código do cliente no dbedit1 qdo sair do campo ele teria que preencher os outros campos mas que seria edit somente para visualização, correto..., pois no bd tenho que guardar somente o codigo.
Então estes selects eu coloco aonde?
Seria no onExit do campo Código?
Mais e por exemplo qdo entrar na janela novamente para visualizar os registros, como faço para os que os edits tbem sejam preenchidos?
Valeu
Obrigado.
GOSTEI 0
Paulo
19/09/2008
Mas a estrutura do seu BD deve estar correta, com as devidas FK bem consistidas, senão não dá certo. Pode-se usar o OnExit ou OnChange, depende de como você vai querer usar. Normalmente eu faço uma tabela de Clientes, outra para Logradouros(CEP - PK) e outra para Estados e Cidades. Dá para normalizar mais, mas assim, fica legal, bem dividida e sem repetições de informações.
GOSTEI 0