Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

masaca

Pesquisa entre tabelas??

Recommended Posts

tenho duas tabelas no BD, um cadastro de clientes e uma outra de protocolos destes clientes.Pois bem, preciso fazer um formulario destes protocolos como posso neste formulario colocar por exemplo um campo edit para que assim que for digitado o codigo do cliente neste campo elepesquise na tabela de cliente e se tiver o codigo lá mostrar a empresa correspondente e posteriormentecompletar com as outras informacoes deste protocolos.Estou usando BD Access, um ADOConnection, ADOTable e um DataSourceNao estou conseguindo fazer isto.Se alguem puder ajudar de como fazer isto,AgradeçoMSC

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola,você pode por um botao e no evento onclik dele colocar algo do tipo:procedure TForm1.Button1Click(Sender: TObject);var comando: String;begin comando := 'select * from cliente where codigo = '; comando := comando + Edit1.Text; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(comando); ADOQuery1.Open; if (ADOQuery1.RecordCount = 1) then begin comando := 'select * from protocolos where codigo_cliente = '; comando := comando + ADOQuery1CODIGO.AsString; ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add(comando); ADOQuery2.Open; if (ADOQuery1.RecordCount = 0) then ShowMessage('Cliente sem Protocolos'); end else ShowMessage('Codigo de Cliente nao encontrado');end;Tb pode ser feito usando relacao metre-detalhe liganto um componente ADOQuery a outro ADOTable atraves da propriedade Mastersource, onde bastaria dar um select no ADOQuery e automaticamente o ADOTable retornaria o(s) protocolo(s) vinculados ao cliente, caso exista. Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caso você utilize o codigo do cliente como chave estrangeira na tabela protocolos você pode colocar o seguinte comando no envento onclik do botaoprocedure TForm1.Button1Click(Sender: TObject);var comando: String;begin comando := 'select a.* from protocolos a'; comando := comando + ' join cliente b on b.codigo=a.codigo_cliente'; comando := comando + ' where b.codigo = '; comando := comando + Edit1.Text; ADOQuery1.Close; ADOQuery1.SQL.Clear; ADOQuery1.SQL.Add(comando); ADOQuery1.Open; if (ADOQuery1.RecordCount = 0) then ShowMessage('Codigo de Cliente nao encontrado');end;

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.