Preciso de ajuda com relacionamento.
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?
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?
Flaviolrf
Curtidas 0
Respostas
Aroldo Zanela
08/04/2003
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?
Colega,
Quando se fala em relacionamento, subentende-se a junção de duas ou mais tabelas (exceto auto-relacionamento - que não é o caso). Na sua consulta acima aparece apenas um tabela e algumas ´coisas´ fora do lugar.
Coloque as tabelas envolvidas e os repectivos campos para te auxiliarmos melhor. Por exemplo:
tabela 1
campo1, campo2, campo3
tabela 2
campo1, campo2
GOSTEI 0
Anonymous
08/04/2003
Assim
QYfone.Close;
QYfone.SQL.Clear;
QYfone.SQL.Add(´Select * From Contatos a, cliente b ´);
QYfone.SQL.Add(´Where b.codcli=a.codcli and ´);
QYfone.SQL.Add(´CodCliente =:Consulta ´);
QYfone.ParamByName(´Consulta´).AsInteger := QryAniverCodigo.Value;
QYfone.Open;
lembrete sempre deixe pelo menos um espaço no final da lina
QYfone.SQL.Add(´mmmmm ´);
QYfone.Close;
QYfone.SQL.Clear;
QYfone.SQL.Add(´Select * From Contatos a, cliente b ´);
QYfone.SQL.Add(´Where b.codcli=a.codcli and ´);
QYfone.SQL.Add(´CodCliente =:Consulta ´);
QYfone.ParamByName(´Consulta´).AsInteger := QryAniverCodigo.Value;
QYfone.Open;
lembrete sempre deixe pelo menos um espaço no final da lina
QYfone.SQL.Add(´mmmmm ´);
GOSTEI 0
Anonymous
08/04/2003
Uma pequena correção:
não é necessário deixar um empaço no final das linhas do SQL quando se utiliza o componente TQuery, pois mesmo armazena o SQL em uma stringlist. Ja se estiver utilizando DBExpress ai é outra historia.
um abraço,
Rafael Helm.
não é necessário deixar um empaço no final das linhas do SQL quando se utiliza o componente TQuery, pois mesmo armazena o SQL em uma stringlist. Ja se estiver utilizando DBExpress ai é outra historia.
um abraço,
Rafael Helm.
GOSTEI 0