Fórum Dúvidas para implementar campos Lookup #53473
21/10/2005
0
Estou migrando uma aplicação do Paradox para o Firebird e estou com seguinte dúvida..
Não estou sabendo implementar um campo de lookup..
Ex: Eu tenho uma tabela de cidades e nas tabelas de Clientes,Fornecedores,Vendedores tenho o campo código da cidade definido como FK, até ai tudo bem eu qdo estou cadastrando a partir do momento que o usuário seleciona a cidade eu mostro o código e o nome, mas e qdo eu estive em modo [b:d531d42c6e]dsBrowse[/b:d531d42c6e]?
Poderia fazer um campo de lookup no fields editor, mas para isto a tabela de cidades teria que ficar aberta, agora imaginem no caso de pedidos onde eu tenho vendedores,clientes, transportadoras,condição de pagamento.
Pois no paradox qdo crio um campo de lookup ele automaticamente abre a tabela source.
Como vc´s estão implementando isto?
Estou utilizando [b:d531d42c6e]Delphi 7,FB 1.5 com DBExpress[/b:d531d42c6e].
Grato
Fausto
Faustoalves
Curtir tópico
+ 0Posts
21/10/2005
Gandalf.nho
Gostei + 0
21/10/2005
Faustoalves
por exemplo tenho o pedido onde tenho como FK, CD_Cliente,CD_Transportre,CD_Vendedor, CD_CondPagto.
Pois bem, cada um destes campos se refere a outra tabela que eu gostaria de mostrar no form de consulta, como faço isto, pois não consigo enxergar o túnel quem dirá a luz no final dele.
Fausto
Gostei + 0
21/10/2005
Afarias
para o caso de clientes, fornecedores e tals, deixe o usuário digitar uma informação chave (cgc, cpf, código, ...) e ao digitar faça a consulta no banco para trazer as informações pertinentes desse único registro
de forma mais avançada, permita q quando o usuário clique em um botão e/ou tecla especícifa abra uma tela de consulta onde ele pode buscar por parte do nome ou sei lá o q mais... dai ele escolhe em um grid qual é o registro q procura, dando OK vc captura isso
T+
Gostei + 0
21/10/2005
Faustoalves
Ele digita o número do pedido, tenho um form para pesquisas.. então ele pode pesquisar e me retornar o pedido, mas o problema esta em como mostrar informações de outras tabelas que mantém vinculos com ela através de FK´s.
Ex:
[b:53464688dd]
Nº Pedido : 5254
Cliente : 1056 JO CALCADOS [color=red:53464688dd]FK[/color:53464688dd]
Transportadora: 35 TRES MAIENSE [color=red:53464688dd]FK[/color:53464688dd]
Vendedor : 20 JOAL DOS REIS [color=red:53464688dd]FK[/color:53464688dd]
[/b:53464688dd]
Não sei se fui claro neste exemplo..
Fausto[color=red:53464688dd][/color:53464688dd]
Gostei + 0
21/10/2005
Vinicius2k
Se a questão é ´exibição´, utilize JOINs nas querys, ex:
select P.IDPEDIDO, P.IDCLIENTEFK, C.NOMECLIENTE, P.IDTRANSPORTADORAFK, T.NOMETRANSPORTADADORA, P.IDVENDEDORFK, V.NOMEVENDEDOR from PEDIDOS P left join CLIENTES C on (P.IDCLIENTEFK = C.IDCLIENTE) left join TRANSPORTADORAS T on (P.IDTRANSPORTADORAFK = T.IDTRANSPORTADORA) left join VENDEDORES V on (P.IDVENDEDORFK = V.IDVENDEDOR) ...
T+
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)