Como fazer uma pesquisa por chave estrangeira?

Delphi

03/03/2008

:D Aeee... O problema é esse:

Tenho uma tabela BANCOS com os campos:
- [color=red:95abc8a579]BAN_ID[/color:95abc8a579]
- BAN_NOME

Tenho uma tabela CONTAS com os campos:
-CON_ID
- [color=red:95abc8a579]BAN_ID[/color:95abc8a579] [i:95abc8a579](Chave estrangeira)[/i:95abc8a579]
- CON_TITULAR

Uso os seguintes componentes para conectar com BD:
- TSQLDataSet
- TDataSetProvider
- TClientDataSet
- TDataSource

No ClientDataSet criei um campo [b:95abc8a579]BANCO (lookup)[/b:95abc8a579] para mostrar o nome do banco na tela de [b:95abc8a579]CADASTRO DE CONTAS[/b:95abc8a579].

[size=18:95abc8a579][b:95abc8a579]A dúvida:[/b:95abc8a579][/size:95abc8a579]
Como fazer uma pesquisa pelo nome do banco mas mostrando no DBGrid os campos: CON_ID, Nome do Banco, CON_TITULAR ??

Ou pra ficar mais explicito: [b:95abc8a579]Como fazer uma pesquisa por chave estrangeira mostrando o nome e [color=red:95abc8a579]não o código[/color:95abc8a579]?[/b:95abc8a579]

Vlwss
Abração pra todos!!


Educdc

Educdc

Curtidas 0

Respostas

Marco Salles

Marco Salles

03/03/2008

nun entendi...

voce disse que o campo look esta criado ..

e voce quer o Seguinte :

Ou pra ficar mais explicito: Como fazer uma pesquisa por chave estrangeira mostrando o nome e não o código?


pq voce não ´Seleciona´ os campo que irão aparecer nas colunas do DbGrid , Selecionando o Campo Look e deixando o campo BAN_ID (Chave estrangeira) escondido...

[b:1a8817cf98]Acho que é isso que vc quer ... se entendi direito !!!![/b:1a8817cf98]


GOSTEI 0
Educdc

Educdc

03/03/2008

oK...

Isso q vc disse já está feito, a dúvida é:

Como fazer uma pesquisa pelo campo BAN_NOME sendo que este campo esta dentro da tabela BANCOS e não da tabela CONTAS?

Vlwss!!


GOSTEI 0
Marco Salles

Marco Salles

03/03/2008

Vamos suporuma query com um Select pelo campo BAN_NOME na Tabela Bancos

voce pode usar esta query na Propriedade
query.fieldByName(´ BAN_ID ´).asstring para Filtrar os Dados
do ClientDataSet , para que ele apresente somente os Registros
que contenhem o Vamor de Ban_ID

Mais ou menos isto ... Estou sem o delphi para testar..


cds.Filtered:=False;
cds.Filter:=´´;
cds.Filter:= ´BAN_ID = ´+QuotedStr(query.fieldByName(´BAN_ID´).asstring));
cds.Filtered:=True;



GOSTEI 0
POSTAR