Fórum Preciso de ajuda com relacionamento #152818

08/04/2003

0

Tenho um relatório de aniversariantes em minha aplicação, para esse são inseridos os dados do cadastro de clientes onde o mês da data de nascimento corresponde com o mês atual. Os telefones presente no formulário de cadastro de clientes estão em uma outra tabela chamada ´Contatos´. Na minha tabela de Contatos tem um campo chamado CodCliente que recebe o código do cliente... Preciso fazer com que os telefones de cada cliente apareçam também no relatório. Estou fazendo da seguinte forma:

QYfone.SQL.Clear;
a:=´Select * From Contatos ´;
b:=´Where CodCliente =:Consulta ´;
QYfone.SQL.Add(a+b);
QYfone.ParamByName(´Consulta´).AsInteger := QryAniverCodigo.Value;
QYfone.Close;
QYfone.Open;

Ao executar o código, no relatório, onde deveria estar o telefone do cliente aparace vazio. Como faço esse relacionamento?


Anonymous

Anonymous

Responder

Posts

08/04/2003

Marcelo.c

SELECT Clientes.Campo1, Clientes.Campo2,Contatos.Campo1, Contatos.Campo2 FROM Clientes INNER JOIN Contatos ON Clientes.CodCliente = Contatos.CodCliente where Clientes.CodCliente = :consulta;


Responder

Gostei + 0

08/04/2003

Anonymous

select contatos.* , clientes.fone
from contatos, clientes
where contatos.codcliente = clientes.cod_cliente


Responder

Gostei + 0

08/04/2003

Anonymous

Acho que esta faltando o campo na sua qryaniversario.
Vc esta informando a consulta mas não o campo que deve retornar o valor


Responder

Gostei + 0

08/04/2003

Flaviolrf

A dica que você me postou deu quase certo... O problema é que aparece o mesmo telefone para todos os clientes, como se o ´where´ não estivese funcionando ou funcionando apenas para o primeiro cliente. Como resolvo isso?

Está dessa forma:

SELECT Clientes.Codigo, Contatos.* FROM Clientes INNER JOIN Contatos ON Clientes.Codigo = Contatos.CodCliente
where Clientes.Codigo = Contatos.CodCliente


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar