MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access


    [Resolvido]Saldo linha à linha no Relatorio com Recordset

    avatar
    IuriEmanuel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 23/08/2018

    [Resolvido]Saldo linha à linha no Relatorio com Recordset Empty [Resolvido]Saldo linha à linha no Relatorio com Recordset

    Mensagem  IuriEmanuel em 1/12/2018, 11:19

    Bom dia, Pessoal.
    Estou à dias tentando criar uma forma de obter o saldo linha-a-linha de uma tabela de movimentações do cliente de maneira eficiente, a única forma de fazer isso sem se utilizar de expressões de domínio cheias de critérios do DSum, foi abrindo o recordset com um que dá o saldo acumulado do select a cada loop, o problema é escrever isso no relatório, pois como vocês podem ver, existe à linha "Me.STemp = Saldo" que em tese em cada loop escreveria uma respectiva linha no relatório, só que isso não acontece e o campo STemp recebe só o ultimo valor do loop, logo o saldo final. Existe alguma maneira de fazer o relatório escrever isso a cada loop criando outras linhas?

    Código:

    Private Sub Report_Load()
     DoCmd.SetWarnings False
     Dim rst As DAO.Recordset
     Dim Saldo As Double
     Set rst = CurrentDb.OpenRecordset("SELECT * FROM PessoaMovimento WHERE PessID = " & Me.PessID & "")
     Do While Not rst.EOF
      Saldo = Saldo + rst!Valor
      Me.STemp = Saldo
      rst.MoveNext
     Loop
     Screen.ActiveForm.Refresh
    End Sub
    caiosouza
    caiosouza
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 383
    Registrado : 05/12/2016

    [Resolvido]Saldo linha à linha no Relatorio com Recordset Empty Re: [Resolvido]Saldo linha à linha no Relatorio com Recordset

    Mensagem  caiosouza em 1/12/2018, 11:41

    Tente assim:


    Código:
    Private Sub Report_Load()
     DoCmd.SetWarnings False
     Dim rst As DAO.Recordset
     Dim Saldo As Double
     Set rst = CurrentDb.OpenRecordset("SELECT * FROM PessoaMovimento WHERE PessID = " & Me.PessID & "")
     Do While Not rst.EOF
      Saldo = Saldo + rst!Valor
      Me.STemp = Me.STemp & chr(13) & Saldo
      rst.MoveNext
     Loop
     Screen.ActiveForm.Refresh
    End Sub


    .................................................................................
    A persistência leva ao sucesso!
    avatar
    IuriEmanuel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 23/08/2018

    [Resolvido]Saldo linha à linha no Relatorio com Recordset Empty Re: [Resolvido]Saldo linha à linha no Relatorio com Recordset

    Mensagem  IuriEmanuel em 1/12/2018, 12:33

    Bom dia! Obrigado pela resposta, mas o código ainda continua exibindo somente o resultado total em todas a linhas, segue abaixo o anexo caso queira vistoriar.

    Abrçs,
    Att,

    Download do Arquivo
    caiosouza
    caiosouza
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 383
    Registrado : 05/12/2016

    [Resolvido]Saldo linha à linha no Relatorio com Recordset Empty Re: [Resolvido]Saldo linha à linha no Relatorio com Recordset

    Mensagem  caiosouza em 1/12/2018, 12:34

    Bom dia,

    Favor enviar no e-mail: caio.fabio91@gmail.com


    .................................................................................
    A persistência leva ao sucesso!
    avatar
    IuriEmanuel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 23/08/2018

    [Resolvido]Saldo linha à linha no Relatorio com Recordset Empty Re: [Resolvido]Saldo linha à linha no Relatorio com Recordset

    Mensagem  IuriEmanuel em 1/12/2018, 12:43

    Enviado!
    Avelino Sampaio
    Avelino Sampaio
    Developer
    Developer

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3485
    Registrado : 04/04/2010

    [Resolvido]Saldo linha à linha no Relatorio com Recordset Empty Re: [Resolvido]Saldo linha à linha no Relatorio com Recordset

    Mensagem  Avelino Sampaio em 1/12/2018, 12:58

    Olá!

    seria uma ótima oportunidade de aprender como funciona o mecanismo de construção de um relatório e a sequências de seus eventos (copie e cole o link abaixo no seu navegador).

    usandoaccess.com.br/tutoriais/video-programacao-de-relatorios.asp?id=1#inicio


    Bom estudo!
    avatar
    IuriEmanuel
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 62
    Registrado : 23/08/2018

    [Resolvido]Saldo linha à linha no Relatorio com Recordset Empty Re: [Resolvido]Saldo linha à linha no Relatorio com Recordset

    Mensagem  IuriEmanuel em 1/12/2018, 18:34

    Gente!! Eu percebia tantas pessoas com problemas para chegar a este resultado, que nunca que passaria pela minha cabeça de fazer isso, devido a simplicidade. Eu consegui obter o saldo linha-a-linha no relatório da seguinte forma:

    No relatório tem um campo "txtValor", e eu só precisei criar outro campo "txtSaldo" ao lado e colocar a fonte de controle para "=txtValor", e nas propriedades, utilizei a "Soma Parcial" como total, e ele exibe justamente o que eu queria. Resolvi sem o código VBA, mas desde já eu agradeço meus amigos!!

    Conteúdo patrocinado

    [Resolvido]Saldo linha à linha no Relatorio com Recordset Empty Re: [Resolvido]Saldo linha à linha no Relatorio com Recordset

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 24/5/2019, 02:33