MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração


Participe do fórum, é rápido e fácil

MaximoAccess

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

https://www.maximoaccess.com/t48-regras-do-forum

Obrigado

Administração

MaximoAccess

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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 : Respeito às Regras 100%

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

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

    Mensagem  Chamon Consultoria 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 : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 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 : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 255
    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 16/4/2019, 11:50

    Excelente JPaulo!

    Muito obrigado e sucesso pra você!

    Abraço
    JPaulo
    JPaulo
    Moderador
    Moderador

    Respeito às regras : Respeito às Regras 100%

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

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

    Mensagem  JPaulo 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: 25/7/2021, 04:47