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]Soma de coluna com criterios

    Compartilhe

    Augusto Pereira
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 01/02/2016

    [Resolvido]Soma de coluna com criterios

    Mensagem  Augusto Pereira em Ter 02 Fev 2016, 18:46

    Boa tarde!

    tenho uma tabela com produtos e quantidades, e preciso somar as quantidades dos produtos da forma indicada na coluna Soma correta.

    O código que consegui adaptar me dá a soma conforme coluna Soma. Para o produto A está correta, mas para os demais não, onde estou errando?

    Por favor, poderiam me ajudar.

    Obrigado.

    Prod Data Quo Soma Soma correta
    A 26-jan-16 1 1 1
    A 27-jan-16 2 3 3
    A 28-jan-16 3 6 6
    A 29-jan-16 4 10 10
    B 26-jan-16 5 15 5
    B 27-jan-16 6 21 11
    B 28-jan-16 7 28 18
    B 29-jan-16 8 36 26
    C 26-jan-16 1 37 1
    C 27-jan-16 2 39 3
    C 28-jan-16 3 42 6
    C 29-jan-16 4 46 10
    D 26-jan-16 5 51 5
    D 27-jan-16 6 57 11
    D 28-jan-16 7 64 18
    D 29-jan-16 8 72 26



    Segue o código:

    Private Sub Comando12_Click()
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Dim ProAtual As String
    Dim QuaAtual As Double

    Set dbs = CurrentDb '' Indico banco de dados atual
    Set valores = dbs.OpenRecordset("Teste") '' Abro a tabela de contas
    Set ave = dbs.OpenRecordset("Med") '' Abro a tabela de contas
    CurrentDb.Execute "DELETE * FROM Med"

    ProAtual = valores.[Pro]
    QuaAtual = 0

    With ave
         
        Do While Not valores.EOF
       
        ProAtual = valores.[Pro]
                     
           If (ProAtual = valores.[Pro]) Then
           
            ave.AddNew
           !Prod = valores.[Pro]
           !Data = valores.[Data]
           !Quo = valores.[Quo]
            QuaAtual = valores.[Quo] + QuaAtual
           !Soma = QuaAtual
           
            Else
           
            QuaAtual = 0
                             
           End If
           
           valores.MoveNext
             
       .Update
     
    Loop

    End With
    dbs.Close
    Set dbs = Nothing
    End Sub

    Augusto Pereira
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 2
    Registrado : 01/02/2016

    Re: [Resolvido]Soma de coluna com criterios

    Mensagem  Augusto Pereira em Ter 02 Fev 2016, 23:04

    Consegui adaptar o código e resolver, era uma questão de logica.

    Segue:

    Private Sub Comando12_Click()
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Dim QuaAtual As String
    Dim Media As Double



    Set dbs = CurrentDb '' Indico banco de dados atual
    Set valores = dbs.OpenRecordset("Teste") '' Abro a tabela de contas
    Set ave = dbs.OpenRecordset("Med") '' Abro a tabela de contas
    CurrentDb.Execute "DELETE * FROM Med"



    With ave

    Do While Not valores.EOF

    ave.AddNew

    !Prod = valores.[Pro]
    !Data = valores.[Data]
    !Quo = valores.[Quo]

    If (QuaAtual = valores.[Pro]) Then

    Media = valores.[Quo] + Media
    !Soma = Media

    Else

    Media = valores.[Quo]
    !Soma = Media
    QuaAtual = valores.[Pro]

    End If

    valores.MoveNext

    .Update

    Loop

    End With
    dbs.Close
    Set dbs = Nothing
    End Sub


    Obrigado.

      Data/hora atual: Sex 22 Set 2017, 07:19