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]Somar quantidade e salvar em campos diferentes

    avatar
    Chamon Consultoria
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 215
    Registrado : 31/08/2012

    [Resolvido]Somar quantidade e salvar em campos diferentes Empty [Resolvido]Somar quantidade e salvar em campos diferentes

    Mensagem  Chamon Consultoria em 15/4/2019, 15:02


    Bom dia!

    Bd em Access 2010.


    Segue função para somar quantidade:

    Código:
    Private Sub ApurarSomaQuantidade()   

        strSql = ""
        strSql = "SELECT  Sum(cs_zzz_tbl_ProdutosReferenciados.QUANTIDADE) AS txtTotalPares, cs_zzz_tbl_ProdutosReferenciados.SELECIONAR"
        strSql = strSql & " From cs_zzz_tbl_ProdutosReferenciados"

        strSql = strSql & " GROUP BY cs_zzz_tbl_ProdutosReferenciados.SELECIONAR"
        strSql = strSql & " HAVING SELECIONAR = -1;"
        Set dbs = CurrentDb()
        Set rst = dbs.OpenRecordset(strSql)

        Me.txtTotalPares = 0

        Do While Not rst.EOF
            Me.txtTotalPares = Me.txtTotalPares + rst("txtTotalPares")
            rst.MoveNext

            Me.Requery
        Loop


    End Sub

    Estou tentando ajustar a função acima para somar a quantidade, porém, de acordo com o campo ccCFOP. No caso, o valor do campo ccCFOP poderá ser 5124 ou 5902.

    O teste abaixo exibe o seguinte erro: "Parâmetros insuficientes. Eram esperados 1."


    Código:
    Private Sub ApurarSomaQuantidadeComposto()   

        strSql = ""
        strSql = "SELECT  Sum(cs_zzz_tbl_ProdutosReferenciados.QUANTIDADE) AS txtTotalPares, cs_zzz_tbl_ProdutosReferenciados.SELECIONAR, cs_zzz_tbl_ProdutosReferenciados.ccCFOP =('5124'),"
        strSql = strSql & " Sum(cs_zzz_tbl_ProdutosReferenciados.QUANTIDADE) AS txtTotalPares5902, cs_zzz_tbl_ProdutosReferenciados.SELECIONAR, cs_zzz_tbl_ProdutosReferenciados.ccCFOP =('5902')"
        strSql = strSql & " From cs_zzz_tbl_ProdutosReferenciados"

        strSql = strSql & " GROUP BY cs_zzz_tbl_ProdutosReferenciados.SELECIONAR, cs_zzz_tbl_ProdutosReferenciados.ccCFOP"
        strSql = strSql & " HAVING SELECIONAR = -1;"
        Set dbs = CurrentDb()
        Set rst = dbs.OpenRecordset(strSql)

        Me.txtTotalPares = 0
        Me.txtTotalPares5902 = 0

        Do While Not rst.EOF
            Me.txtTotalPares = Me.txtTotalPares + rst("txtTotalPares")
            Me.txtTotalPares5902 = Me.txtTotalPares5902 + rst("txtTotalPares5902")
            rst.MoveNext

            Me.Requery
        Loop


    End Sub

    Desde já agradeço!
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10522
    Registrado : 04/11/2009

    [Resolvido]Somar quantidade e salvar em campos diferentes Empty Re: [Resolvido]Somar quantidade e salvar em campos diferentes

    Mensagem  JPaulo em 15/4/2019, 16:41

    Olá;

    Seu código corrigido, se o campo ccCFOP for texto, se for numerico não será assim;

    Código:
    Private Sub ApurarSomaQuantidadeComposto()
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Dim strSql$
      
        strSql = ""
        strSql = "SELECT  Sum(cs_zzz_tbl_ProdutosReferenciados.QUANTIDADE) AS txtTotalPares, cs_zzz_tbl_ProdutosReferenciados.SELECIONAR,cs_zzz_tbl_ProdutosReferenciados.ccCFOP"
        strSql = strSql & " From cs_zzz_tbl_ProdutosReferenciados"

        strSql = strSql & " GROUP BY cs_zzz_tbl_ProdutosReferenciados.SELECIONAR, cs_zzz_tbl_ProdutosReferenciados.ccCFOP"
        strSql = strSql & " HAVING SELECIONAR = True;"

        Set dbs = CurrentDb()
        Set rst = dbs.OpenRecordset(strSql, dbOpenDynaset)
        
        If rst.RecordCount = 0 Then Exit Sub

        Me.txtTotalPares = 0
        Me.txtTotalPares5902 = 0

        rst.MoveLast
        rst.MoveFirst
        
        Do While Not rst.EOF
        
            If rst(2) = "5124" Or rst(2) = "5902" Then
                Me.txtTotalPares5902 = Me.txtTotalPares5902 + rst(0)
            End If
            
            If rst(2) <> "5124" And rst(2) <> "5902" Then
            Me.txtTotalPares = Me.txtTotalPares + rst(0)
            End If
            
            rst.MoveNext

            Me.Repaint
        Loop
    End Sub

    Se for numerico, será assim:
    Código:
    Private Sub ApurarSomaQuantidadeComposto()
    Dim dbs As DAO.Database
    Dim rst As DAO.Recordset
    Dim strSql$
     
        strSql = ""
        strSql = "SELECT  Sum(cs_zzz_tbl_ProdutosReferenciados.QUANTIDADE) AS txtTotalPares, cs_zzz_tbl_ProdutosReferenciados.SELECIONAR,cs_zzz_tbl_ProdutosReferenciados.ccCFOP"
        strSql = strSql & " From cs_zzz_tbl_ProdutosReferenciados"

        strSql = strSql & " GROUP BY cs_zzz_tbl_ProdutosReferenciados.SELECIONAR, cs_zzz_tbl_ProdutosReferenciados.ccCFOP"
        strSql = strSql & " HAVING SELECIONAR = True;"

        Set dbs = CurrentDb()
        Set rst = dbs.OpenRecordset(strSql, dbOpenDynaset)
       
        If rst.RecordCount = 0 Then Exit Sub

        Me.txtTotalPares = 0
        Me.txtTotalPares5902 = 0

        rst.MoveLast
        rst.MoveFirst
       
        Do While Not rst.EOF
       
            If rst(2) = 5124 Or rst(2) = 5902 Then
                Me.txtTotalPares5902 = Me.txtTotalPares5902 + rst(0)
            End If
           
            If rst(2) <> 5124 And rst(2) <> 5902 Then
            Me.txtTotalPares = Me.txtTotalPares + rst(0)
            End If
           
            rst.MoveNext

            Me.Repaint
        Loop
    End Sub


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Somar quantidade e salvar em campos diferentes Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Somar quantidade e salvar em campos diferentes Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Somar quantidade e salvar em campos diferentes Folder_announce_new Instruções SQL como utilizar...
    avatar
    Chamon Consultoria
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 215
    Registrado : 31/08/2012

    [Resolvido]Somar quantidade e salvar em campos diferentes Empty Re: [Resolvido]Somar quantidade e salvar em campos diferentes

    Mensagem  Chamon Consultoria em 16/4/2019, 11:50

    Excelente JPaulo!

    Muito obrigado e sucesso pra você!

    Abraço
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 10522
    Registrado : 04/11/2009

    [Resolvido]Somar quantidade e salvar em campos diferentes Empty Re: [Resolvido]Somar quantidade e salvar em campos diferentes

    Mensagem  JPaulo em 16/4/2019, 12:23

    Fico feliz.

    Obrigado pelo retorno.


    .................................................................................
    Contribua com o maximoaccess nos links abaixo, ajude a melhorar este que é o seu site na NET.

    Pay-Pal R$ Aqui
    Pay-Pal € Aqui

    Ou ainda: Aqui (Novo)

    Sucesso e Bons Estudos
    Success and Good Studies

    [Resolvido]Somar quantidade e salvar em campos diferentes Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Somar quantidade e salvar em campos diferentes Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Somar quantidade e salvar em campos diferentes Folder_announce_new Instruções SQL como utilizar...

      Data/hora atual: 19/4/2019, 07:54