Ir para conteúdo

POWERED BY:

Arquivado

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

dolci

Imprimir dados

Recommended Posts

Gente, tenho um sisteminha que gera requisições que estou fazendo para uma empresa.

Preciso imprimir um requisição, que pega dados de 3 tabelas.

Como faço isso, imprimo direto do form (como?), ou tenho que abrir os dados da requisição no QuickReport por exemplo?

Aguardo a ajuda.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acredito que seria melhor você utilizar algum gerador de relatório, como o QuickReport, Fortes Report, Rave... assim vai poder configurar como os dados devem ser apresentados melhor.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ok Chrnos, tenho o QuickReport, até fiz algo mas estou tendo a seguinte deificuldade:

 

A tabela requisições tem campos de outras tabelas, por exemplo, Produtos e Secretaria, o campo produto na tabela requisições tem o código do produto da tabela produtos.

Como faço para em vez de aparecer no relatório do QuickReport o código do produto, aparecer o nome do produto.

Lembrando que terei uma lista de produtos numa DBGrid que criarei um botão de imprimir, onde abrirá a requisição selecionada somente.

Estou usando DBExpress, ClientDataSet e Firebird.

Conto a força do colegas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, isso é sql básico... se você tem duas tabelas que se comunicam via um campo código, basta usar um inner join (ou left join dependendo do caso) para que possa unir os dados das duas tabelas no retorno do seu select. Uma vez que monte seu select corretamente, terá todos os dados que precisa a sua disposição para a geração dos seus relatórios.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo, isso é sql básico... se você tem duas tabelas que se comunicam via um campo código, basta usar um inner join (ou left join dependendo do caso) para que possa unir os dados das duas tabelas no retorno do seu select. Uma vez que monte seu select corretamente, terá todos os dados que precisa a sua disposição para a geração dos seus relatórios.

 

[]'s

 

ok Chrnos, sou programador de ASP, estou iniciando em Delphi, posso criar uma Query só para o relatório correto?

Em ASP eu faria assim:

 

Select * from TABELA1 as a, TABELA2 as b, TABELA3 as c where a.cod = "&CódigoRecebido&"

 

CódigoRecebido = Seria o valor que eu receberia via QueryString ou Post por exemplo.

 

Mas nesse caso quando eu criar o Select como receberei o código da requisição que terei que mostrar?

Aí tá o meu problema, grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem vários exemplos no fórum de como montar querys usando ADOQuery, Querys... mas resumindo tudo, você vai precisar de uma query e de um datasource associado a ela para enviar os dados para o quickreport, associando-o ao datasource (não estou lembrando agora se dá pra associar a query diretamente ao quick e não estou num pc com delphi agora)....

 

Uma vez associada a query ao datasource, ao dar o open na query e um preview no report os dados que ela carregar do BD serão carregados no relatório, bastando para tanto antes você configurar no mesmo quais campos quer apresentar e a forma como quer mostrar-los.... dê uma pesquisada aqui no fórum em Quickreport e Query... vai ter muitos exemplos.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo que você falou aí eu já sabia que era dessa forma, a minha dúvida como passar o Parâmetro para a Query, coloquei a query abaixo:

 

SELECT * FROM

REQREQUISICOES

where cod = :cod

 

Só que ela não fica como true, dá a mensagem : "No Value for Parameter 'cod'"

 

Onde passo o parâmetro para a Query?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem diversos tópicos mostrando como fazer querys usando parâmetros no fórum amigo, pesquisar um pouquinho não mata ninguém não concorda? Mas tudo bem, vamos dar mais um exemplo... consideremos a seguinte query:

 

SQL da query:

SELECT *
FROM tabela
WHERE codigo = :cod

No onclick do botao que chama o relatório, bastaria por este comando para passar o parâmetro para a mesma:

 

begin
  Query1.Close;
  Query1.ParamByName('cod').AsInteger:=StrToInt(Edit1.Text);
  Query1.Open;
end;

Há outros métodos... dê uma pesquisada no fórum e veja qual é o que melhor se adapta para você....

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem diversos tópicos mostrando como fazer querys usando parâmetros no fórum amigo, pesquisar um pouquinho não mata ninguém não concorda? Mas tudo bem, vamos dar mais um exemplo... consideremos a seguinte query:

 

SQL da query:

SELECT *
FROM tabela
WHERE codigo = :cod

No onclick do botao que chama o relatório, bastaria por este comando para passar o parâmetro para a mesma:

 

begin
  Query1.Close;
  Query1.ParamByName('cod').AsInteger:=StrToInt(Edit1.Text);
  Query1.Open;
end;

Há outros métodos... dê uma pesquisada no fórum e veja qual é o que melhor se adapta para você....

 

[]'s

 

Já fiz muitas pesquisas e não achei nada que resolvesse.

Fiz como você disse, dá um erro na linha "Query1.Close"

 

O que poderá ser?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O nome do seu componente query que usa para realizar a consulta é Query1? Qual o erro retornado?

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.