Ir para conteúdo

Arquivado

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

Carcleo

Problemas Com O Quickreports

Recommended Posts

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

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

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

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.db
TXT := '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

×

Informação importante

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