Ir para conteúdo
Fórum Script Brasil
  • 0

Informações precisa no relatório.


robinhocne

Pergunta

Bom dia,

Como eu faço para aparecer um relatório tipo detalhado da pessoa, digo, tenho todas as parcelas ou cheques do cliente lançado ai quero que apareça todas elas no relatório tipo assim:

Histótrico > nesse histórico está dizendo qual parcela é se é a primeiro segunda etc, então queria que ficasse assim:

Histórico          Vencimento        Valor        Dt de Pagamento

1ªparcela         10/01/2008       100,00       09/01/2008
2ªparcela         10/02/2008       100,00       12/02/2008
3ªparcela         10/03/2008       100,00       
4ªparcela         10/04/2008       100,00

Como faço em questão de visual e codigos......?

Bom eu fiz assim:

Coloquei uma banda rbDetai, onde tem os dados do cliente e uma subDetail para mostrar tipo em baixo desses dados os dados das parcelas quer dizer a quantidade, mas ai não aparece nada será qiue estou montando certo?

Editado por robinhocne
Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0
Coloquei uma banda rbDetai, onde tem os dados do cliente e uma subDetail para mostrar tipo em baixo desses dados os dados das parcelas quer dizer a quantidade, mas ai não aparece nada será qiue estou montando certo?

Tudo depende de como esta organizado os dados... por exemplo: os dados do cliente estão em uma tabela e as parcelas em outro ? os dados estão na mesma tabela ou são selecionados atraves de SQL ?

o correto seria usar uma banda QRGroup para os dados do cliente e uma banda rbDetail para as parcelas.

abraço

Link para o comentário
Compartilhar em outros sites

  • 0
o correto seria usar uma banda QRGroup para os dados do cliente e uma banda rbDetail para as parcelas.
ou, uma banda Detail para os dados do cliente e uma Sub-detail para as parcelas...

Bom deixei dessa maneira que você citou mesmo, a instrução para mostrar os dados de lancamento onde os campos estão na banda subdetail:

With DtmIza.QryAluLan do
       Begin
          Close;
          Sql.Clear;
          Sql.Add ('Select Codigo, Aluno, Vencimento, Valor, Emissao, Pagamento, Historico, Historico1, Agencia,'
                   +'Conta, Cheque, Tipo From Lancamento');
          Open;
       end;
e os dados que mostra os dados buscados por alunos:
With DtmIza.QryIza do
      Begin
         Close;
         Sql.Clear;
         Sql.Add ('Select Codigo, Nome, DtCadastro, Categoria, Servicos From Alunos');
         Sql.Add ('where (DtCadastro >= :d1) and (DtCadastro <= :d2)');
         ParambyName('d1').value  := FormatDateTime ('dd/mm/yyyy' , StrToDate (TxtDataInicial.Text));
         ParambyName('d2').value  := FormatDateTime ('dd/mm/yyyy' , StrToDate (TxtDataFinal.Text));
         Open;
      end;

e não está mostrando nada.

Link para o comentário
Compartilhar em outros sites

  • 0

Robinhocne, parece-me que quando você fala "dados dos clientes" está se referindo a "dados dos alunos", certo?!

Primeiramente, você tem que lembrar que as informações tem que ter uma certa relação, não é mesmo?!

Voce tem um consulta que retorna todos os alunos cadastrados em um período e uma outra que retorna todos os lançamentos gravados em seu banco de dados - sem qualquer restrição/relação com os alunos. :blink:

Voce quer um relatório que mostre os dados dos alunos filtrados no período e que, para cada aluno, liste suas respectivas parcelas. Não é mesmo?!

Se é (e acredito que deva ser), para cada aluno que tiver sua informação impressa, deverá ser feita a consulta nos lançamentos e localizadas suas parcelas. Como fazemos isto? Justamente utilizando o campo de relacionamento como filtro na cláusula WHERE da consulta nos lancamentos, é claro.

Seguindo esta abordagem, o dataset origem dos dados de seu relatório deverá ser o que lista os alunos. Acredito que não apareceu nada em seu relatório, justamente porque você pode não ter inicializado a propriedade DataSet do QuickReport (acho que é este que você está utilizando).

Este dataset, será origem dos dados apresentados na sua banda detalhe, enquanto que o dataset de lancamentos será a origem dos dados para a banda sub-detail (utilize a propriedade DataSet desta banda para "dizer" isto).

Dicas:

1) na consulta por período de datas, dê preferência a utilizar between ao invés de ">=" e "<=";

2) na passagem de parâmetros, force o tipo de dados do parâmetro fazendo uso de As<tipo>;

...
Sql.Add ('where DtCadastro between :d1 and :d2');
ParambyName('d1').AsDate  := StrToDate (TxtDataInicial.Text);
ParambyName('d2').AsDate  := StrToDate (TxtDataFinal.Text);
...

Veja se você avança um pouco mais.

Link para o comentário
Compartilhar em outros sites

  • 0
Robinhocne, parece-me que quando você fala "dados dos clientes" está se referindo a "dados dos alunos", certo?!

Primeiramente, você tem que lembrar que as informações tem que ter uma certa relação, não é mesmo?!

Voce tem um consulta que retorna todos os alunos cadastrados em um período e uma outra que retorna todos os lançamentos gravados em seu banco de dados - sem qualquer restrição/relação com os alunos. :blink:

Voce quer um relatório que mostre os dados dos alunos filtrados no período e que, para cada aluno, liste suas respectivas parcelas. Não é mesmo?!

Se é (e acredito que deva ser), para cada aluno que tiver sua informação impressa, deverá ser feita a consulta nos lançamentos e localizadas suas parcelas. Como fazemos isto? Justamente utilizando o campo de relacionamento como filtro na cláusula WHERE da consulta nos lancamentos, é claro.

Seguindo esta abordagem, o dataset origem dos dados de seu relatório deverá ser o que lista os alunos. Acredito que não apareceu nada em seu relatório, justamente porque você pode não ter inicializado a propriedade DataSet do QuickReport (acho que é este que você está utilizando).

Este dataset, será origem dos dados apresentados na sua banda detalhe, enquanto que o dataset de lancamentos será a origem dos dados para a banda sub-detail (utilize a propriedade DataSet desta banda para "dizer" isto).

Dicas:

1) na consulta por período de datas, dê preferência a utilizar between ao invés de ">=" e "<=";

2) na passagem de parâmetros, force o tipo de dados do parâmetro fazendo uso de As<tipo>;

...
Sql.Add ('where DtCadastro between :d1 and :d2');
ParambyName('d1').AsDate  := StrToDate (TxtDataInicial.Text);
ParambyName('d2').AsDate  := StrToDate (TxtDataFinal.Text);
...

Veja se você avança um pouco mais.

Não deu certo, não!

Link para o comentário
Compartilhar em outros sites

  • 0
Robinhocne, parece-me que quando você fala "dados dos clientes" está se referindo a "dados dos alunos", certo?!

Primeiramente, você tem que lembrar que as informações tem que ter uma certa relação, não é mesmo?!

Voce tem um consulta que retorna todos os alunos cadastrados em um período e uma outra que retorna todos os lançamentos gravados em seu banco de dados - sem qualquer restrição/relação com os alunos. :blink:

Voce quer um relatório que mostre os dados dos alunos filtrados no período e que, para cada aluno, liste suas respectivas parcelas. Não é mesmo?!

Se é (e acredito que deva ser), para cada aluno que tiver sua informação impressa, deverá ser feita a consulta nos lançamentos e localizadas suas parcelas. Como fazemos isto? Justamente utilizando o campo de relacionamento como filtro na cláusula WHERE da consulta nos lancamentos, é claro.

Seguindo esta abordagem, o dataset origem dos dados de seu relatório deverá ser o que lista os alunos. Acredito que não apareceu nada em seu relatório, justamente porque você pode não ter inicializado a propriedade DataSet do QuickReport (acho que é este que você está utilizando).

Este dataset, será origem dos dados apresentados na sua banda detalhe, enquanto que o dataset de lancamentos será a origem dos dados para a banda sub-detail (utilize a propriedade DataSet desta banda para "dizer" isto).

Dicas:

1) na consulta por período de datas, dê preferência a utilizar between ao invés de ">=" e "<=";

2) na passagem de parâmetros, force o tipo de dados do parâmetro fazendo uso de As<tipo>;

...
Sql.Add ('where DtCadastro between :d1 and :d2');
ParambyName('d1').AsDate  := StrToDate (TxtDataInicial.Text);
ParambyName('d2').AsDate  := StrToDate (TxtDataFinal.Text);
...

Veja se você avança um pouco mais.

Não deu certo, não!

Bom fiz assim, coloquei a primeira banda as das informações como columheader, e a segunda como detail e ai me mostrou mas aparece so de alguns e so um valor, será que tem que fazer ums filtro das tabelas alunos para as lancamentos informando o aluno, mas a busca é só de datas, como faço isso?

Link para o comentário
Compartilhar em outros sites

  • 0
(...), será que tem que fazer ums filtro das tabelas alunos para as lancamentos informando o aluno, mas a busca é só de datas, como faço isso?

Parece que eu já havia falado algo sobre isto antes:

"Voce tem um consulta que retorna todos os alunos cadastrados em um período e uma outra que retorna todos os lançamentos gravados em seu banco de dados - sem qualquer restrição/relação com os alunos. blink.gif

Voce quer um relatório que mostre os dados dos alunos filtrados no período e que, para cada aluno, liste suas respectivas parcelas. Não é mesmo?!

Se é (e acredito que deva ser), para cada aluno que tiver sua informação impressa, deverá ser feita a consulta nos lançamentos e localizadas suas parcelas. Como fazemos isto? Justamente utilizando o campo de relacionamento como filtro na cláusula WHERE da consulta nos lancamentos, é claro."

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...