Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
rogfranz Novato

Registrado: Terça-Feira, 17 de Janeiro de 2012 Mensagens: 26
|
Enviada: Ter Jan 17, 2012 10:28 am Assunto: Acessar dados QReport - Ordem de Serviço (Resolvido) |
|
|
Olá a todos minha primeira postagem, espero estar postando no lugar correto.
Minha dúvida é a seguinte! preciso gerar no Qreport os dados da linha selecionada em um "DBGrid' para impressão de uma ordem de serviço atravéz de um botão
Tenho o seguinte código!
Código: | procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
Formveros.QRveros.PreviewModal;
Formveros.Free;
end;
end.
|
Agradesço desde já a ajuda! Valeu![/code]
Editado pela última vez por rogfranz em Sex Jan 27, 2012 7:37 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Ter Jan 17, 2012 10:42 am Assunto: |
|
|
Bom dia
O DataSet (Query, Table, ClientDataSet ou outro) que está ligado no DBGrid (através de um DataSource) vai estar posicionado no registro da linha selecionada.
Para imprimir os dados acho que você pode montar as bandas do relatório normalmente, mas deixando a propriedade DataSet do QuickReport em branco para que não sejam impressos todos os registros.
obs: acho que a sua questão está mais relacionada ao relatório, por isso o mais correto seria posta-la na categoria Delphi
Espero que ajude.
Editado pela última vez por imex em Ter Out 03, 2023 5:01 pm, num total de 1 vez |
|
Voltar ao Topo |
|
 |
rogfranz Novato

Registrado: Terça-Feira, 17 de Janeiro de 2012 Mensagens: 26
|
Enviada: Ter Jan 17, 2012 12:37 pm Assunto: |
|
|
Show de bola agradeço o interesse por ajudar! vou tentar aqui e retorno com o resultado que eu tiver! Sou novato em programação estou aprendendo com o tio "Goo" hehehe Valeeu! |
|
Voltar ao Topo |
|
 |
rogfranz Novato

Registrado: Terça-Feira, 17 de Janeiro de 2012 Mensagens: 26
|
Enviada: Qua Jan 18, 2012 1:29 pm Assunto: |
|
|
Não consegui gente!!! tirei as informações dos DATASET's e não rolou! a unica coisa que aconteceu foi não mostrar todas as página realmente masssss não setou o item selecionado na DBGrid do "formprincipal"
Valeeeu! |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jan 18, 2012 2:10 pm Assunto: |
|
|
Não sei se entendi corretamente quando você disse "tirei as informações dos DATASET's" no plural.
Você deve deixar em branco apenas a propriedade DataSet do QuickReport.
A propriedade DataSet dos QRDBText's e outros componentes devem ser preenchidas normalmente.
Se não funcionar, informe se as bandas e seus respectivos conteúdos foram impressos ou não.
Espero que ajude. |
|
Voltar ao Topo |
|
 |
rogfranz Novato

Registrado: Terça-Feira, 17 de Janeiro de 2012 Mensagens: 26
|
Enviada: Qua Jan 18, 2012 2:16 pm Assunto: |
|
|
Pis é me expressei mal tirei sim somente do componente "QuickRep" o dataset. eu tenho as seguintes bands: Page header, Detail, page footer.
Estou usando todos os dados que preciso dentro da band page header pois a ordem de serviço que preciso imprimir é pequena 21x10cm! quando solicito a abertura do componente no projeto ele abre normalmente o "QR" mostrando todos os dados que eu programei pra mostrar mas mostra somente o 1 item do meu "BD" que eu n sei por que está mostrando Nº 19
se quizer posso postar uma img ou o projeto pra dar uma olhada
Mais um vez muito obrigado pela atenção! |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jan 18, 2012 2:23 pm Assunto: |
|
|
Você possui tabelas no banco de dados com relacionamento do tipo mestre / detalhe?
O DBGrid exibe os dados da tabela mestre, e no relatório você quer imprimir os dados da tabela mestre, e também da tabela detalhe, que contem por exemplo os itens da ordem de serviço? |
|
Voltar ao Topo |
|
 |
rogfranz Novato

Registrado: Terça-Feira, 17 de Janeiro de 2012 Mensagens: 26
|
Enviada: Qua Jan 18, 2012 2:33 pm Assunto: |
|
|
Não tinha mensionado ainda, mas estou usando o PARADOX7!
o nome do meu bancos de dados é "DBRealce.db" ok
Não sei exatamente o que seria o "MESTRE" mas uso um campo com nome OS que vai aumentando o numero da Os conforme cadastro no BD.
Preciso imprimir vários dados do "DBRealce" principalmente o "OS" que mostra na minha DBGrid o que eu quero imprimir certo.
Espero ter explicado razoavelmente bem!
Mas seria assim! selecionar a linha no DBGrid que mostra a OS que quero imprimir! só |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jan 18, 2012 2:57 pm Assunto: |
|
|
Pelo que entendi você tem somente uma tabela, então não tem um relacionamento do tipo mestre / detalhe.
Um exemplo de mestre / detalhe seria uma tabela para gravar os dados do cabeçalho de uma nota fiscal, outra tabela para gravar os dados dos itens da nota.
Voltando a questão, você está utilizando QRDBText's para imprimir os dados? Configurou as propriedades DataSet e DataField?
Estão sendo impressos dados de outro registro em vez do registro selecionado, ou não está sendo impresso nada?
Quando você fecha o relatório, o DBGrid continua posicionado no registro que estava antes? |
|
Voltar ao Topo |
|
 |
rogfranz Novato

Registrado: Terça-Feira, 17 de Janeiro de 2012 Mensagens: 26
|
Enviada: Qua Jan 18, 2012 3:11 pm Assunto: |
|
|
Mais um vez agradeço pela boa vontade de me ajudar!
É realmente uso uma tabela só para tudo!
- Sim estou usando QRDBtext para imprimir os dados;
- DataSet e DataField estão ok
- Os dados estão sendo impressos sim! mas porém sempre do primeiro item da minha tabela independente do item que eu selecionar ele imprime sempre o primeiro!
- quando fecho o relatório a DBGrid está posicionando no mesmo lugar sim!
Valeeeeu |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jan 18, 2012 3:36 pm Assunto: |
|
|
Acho que deveria estar sendo impresso os dados do registro selecionado.
Experimente de outra forma então... para teste adicione um QRLabel na banda, e acrescente o seguinte código no evento BeforePrint do QuickReport:
Código: | QRLabelOS.Caption := Table1.FieldByName('OS').AsString; |
No código acima estou supondo que o nome do QRLabel adicionado é QRLabelOS, e que o nome do DataSet é Table1. Se os nomes forem outros adapte o código acima. |
|
Voltar ao Topo |
|
 |
rogfranz Novato

Registrado: Terça-Feira, 17 de Janeiro de 2012 Mensagens: 26
|
Enviada: Qua Jan 18, 2012 4:52 pm Assunto: |
|
|
Blz Testei aqui assim e ficou dando a mesma coisa! retorna neste "QRLabel" sempre o 1º item do meu DB!
Código: | procedure TFormveros.QRverosBeforePrint(Sender: TCustomQuickRep;
var PrintReport: Boolean);
begin
QRLabelOS.Caption := Tveros.FieldByName('OS').AsString;
QRLabelcliente.Caption := Tveros.FieldByName('Cliente').AsString;
end;
end.
|
Valeeeeeu
Obs.: Coloquei 2 QRLabel's para testar! funcionaram mas na mesma condição! |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jan 18, 2012 5:05 pm Assunto: |
|
|
Onde está o DataSet que está ligado (através de um DataSource) no DBGrid? No form principal? Em um data module?
O DataSet da propriedade de mesmo nome dos QRDBText's, ou o utilizado no código com os QRLabel's deve ser o mesmo que é utilizado com o DBGrid.
Se ele está em outro form ou data module, adicione o form ou data module onde está o DataSet a clausula uses do form onde está o QuickReport (pressione Alt+F11 e selecione a unit), e depois reconfigure a propriedade DataSet dos QRDBText's.
Se for esse o problema é melhor manter os QRDBText's e remover os QRLabel's e seus respectivos códigos. |
|
Voltar ao Topo |
|
 |
rogfranz Novato

Registrado: Terça-Feira, 17 de Janeiro de 2012 Mensagens: 26
|
Enviada: Qua Jan 18, 2012 7:35 pm Assunto: |
|
|
GRANDE, GRANDE, GRANDE, GRANDE, GRANDE, GRANDE!!!!!
DEU CERTO!!! Setei nos QRDBtext's o mesmo DATASET usado na DBGrid no form principal e deu certo!!!
Meu muitíssimo obrigado!
Valeu mesmo! |
|
Voltar ao Topo |
|
 |
imex Moderador

Registrado: Sexta-Feira, 7 de Janeiro de 2011 Mensagens: 11666
|
Enviada: Qua Jan 18, 2012 11:02 pm Assunto: |
|
|
Blz. |
|
Voltar ao Topo |
|
 |
|