Carcleo 4 Denunciar post Postado Julho 22, 2007 Ola pessoal, Tem um relartório de cheques passados e um form pasras cadastrar casda cheque,No form, de casdastro, eu uso DBLookUpCombobox pra gravar apenas numeros, como por exemplo, pra que foi passado o cheque, ('para o cliente 05 da tabera ded clientes').Porem, quando vou emitir o relatório, la estao o 'Cliente 05 em vez do nome dele'.Preciso arranjar uma forma de fazer uma query verificando, no quickreport, qual o nome do cliente na tabela de clientes, que possui o id 5, qual o banco na tabela de bancos, que possui o id 8,.Alguem pode me ajudar nessa.?Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Julho 22, 2007 Bom amigo...se eu entendi você quer saber qual o nome do cliente do que possui o id 5 e imprimi-lo no quick...se for isto você tem que colocar na query as duas tabelas, a tabela que você lança os cheques e a tabela dos clientes...e fazer uma relacionamento. Um exemplo(só uma dica)...veja como se adapta ao seu: procedure TFormRBombaC.EncartaButton1Click(Sender: TObject);var Txt:String;begin TXT := 'select lanca.codcli, clientes.codigo, clientes.nome from CLIENTES, LANCA where (LANCA.CODCLI = CLIENTES.CODIGO)'; FormRel.Query1.Close; FormRel.Query1.SQL.Text := Txt; FormRel.Query1.Open; FormRel.quickrep1.Preview;end; Viu a relação que fiz ali acima. (LANCA.CODCLI = CLIENTES.CODIGO) Agora basta por um QRDBText no quick report apontando pro NOME do cliente.... Espero que te ajude...t+ http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites
Carcleo 4 Denunciar post Postado Julho 22, 2007 Ok, mas o meu problema, é que a tabela(TZQuery) cheques, busca valores em 3 tabelas(Nomes, Cidades e Bancos), e é aí quer to me esbarrando, eu fiz o seguite, mas não funcionou? QryCheques.Close; QryCheques.SQL.Text := 'Select * from Cheques where nome = '+''''+Nome.Caption+''''+' '; QryCheques.Open; QryCheques.first; while not QryCheques.EOF do begin QryCheques.Close; QryCheques.SQL.Add('Select nomes.nome, bancos.Banco, nomes.Nome, cidades.Cidade from Cheques INNER JOIN Nomes, Cidades, bancos on cheques.nome=nomes.id, cheque.Banco=Bancos.id, cheques.posicao=nomes.id, cheques.cidade=cidades.Id where nome = '+''''+Nome.Caption+''''+''); QryCheques.open; QryCheques.first; while not QryCheques.EOF do begin nome.Caption := QryCheques.Fields[1].Value; Banco.Caption := QryCheques.Fields[2].Value; nome.Caption := QryCheques.Fields[8].Value; cidade.Caption := QryCheques.Fields[9].Value; QryCheques.Next; end; QryCheques.Next; end; O Relatório simplesmente some tudo, a pagina fica toda vazia. Compartilhar este post Link para o post Compartilhar em outros sites
EderDias 0 Denunciar post Postado Julho 23, 2007 Ok, mas o meu problema, é que a tabela(TZQuery) cheques, busca valores em 3 tabelas(Nomes, Cidades e Bancos), e é aí quer to me esbarrando, eu fiz o seguite, mas não funcionou?R.: Carinha...se são tres...o esqueminha...é referenciar as tres tabelas...ou seja....sempre amarrar no seu select...as 3 tabelas....tipo:lanca.dbcidade.dbclientes.dbTXT := 'select * from LANCA, CLIENTES, CIDADE where (LANCA.CODCLI = CLIENTES.CODIGO) AND (CLIENTES.CODCID = CIDADE.CODIGO)';viu o exemplo acima?? eu referencie no select as tres tabelas na clausula where:o lanca.codcli amarrei ao clientes.codigo e o clientes.codcid amarrei a cidade.codigo.no seu select parece que falta esta referencia..pelo que eu entendi...é só uma dica, é claro que tem que adaptar ao seu codigo...Valew...Boa Sorte.t+ http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Compartilhar este post Link para o post Compartilhar em outros sites