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


4 participantes

    [Resolvido]Somar itens repetidos

    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 814
    Registrado : 30/08/2010

    [Resolvido]Somar itens repetidos Empty [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio 8/7/2016, 01:44

    Olá pessoal estou mais uma vez pedindo a ajuda de vocês.

    Tinha iniciado essa dúvida nesse tópico, como o foco do tópico era outro resolvi criar um tópico específico para essa dúvida.
    Tópico anterior: https://www.maximoaccess.com/t26959-resolvidopdv_pliniomabesi

    Estou querendo somar os produtos repetidos na hora da venda conforme tela a baixo, mais quando lança o produto a segunda vez dar essa mensagem de erro:
    [Resolvido]Somar itens repetidos 2ihm3yf

    Estou usando esse código para tentar fazer a soma dos produtos repetidos:
    Código:
    Sub AtaulizaQtde()
    Dim Soma As Variant
    'Verifica se o produto ja está gravado na tabela DetalheVenda se sim apenas atualiza a quantidade e desconto
    If DCount("codVenda", "DetalheVenda", "CodVenda =" & Me.txtCodigoVenda & " and CodProduto ='" & Me.txtCod & "'") Then
            
        'ATUALIZA A TABELA DetalheVenda
        CurrentDb.Execute "Update DetalheVenda Set QtdProduto = QtdProduto + (""" & Me.txtQtd & """), SubTotal=Subtotal + ('" & Soma & "') Where CodVenda = " & Me.txtCodigoVenda & " and CodProduto ='" & Me.txtCod & "'"
        
        'Atualiza o Estoque
        CurrentDb.Execute "Update Produto Set QtdEstoque = QtdEstoque - (""" & Me.txtQtd & """) Where CodProduto ='" & Me.txtCod & "'"

    End If
    End Sub

    Segue exemplo:
    Anexos
    [Resolvido]Somar itens repetidos AttachmentPDV.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (199 Kb) Baixado 67 vez(es)
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  Alexandre Neves 10/7/2016, 15:38

    Boa tarde,
    Não percebi como chegar à dúvida. Deu 'Ocorreu um erro ao incluir o vendedor'
    No entanto, vejo que tem DCount sem comparar quantidade do cálculo

    If DCount("codVenda", "DetalheVenda", "CodVenda =" & Me.txtCodigoVenda & " and CodProduto ='" & Me.txtCod & "'") falta comparar com quantidade Then


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 814
    Registrado : 30/08/2010

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio 11/7/2016, 16:01

    Olá Alexandre Neves obrigado pela força

    Esse erro do vendedor ocorre se não colocar o vendedor na hora da venda

    Quanto DCount, creio que ele está verificando se o código do produto se repete na mesma venda.
    If DCount("codVenda", "DetalheVenda", "CodVenda =" & Me.txtCodigoVenda & " and CodProduto ='" & Me.txtCod & "'") Then
    Alexandre Neves
    Alexandre Neves
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 8498
    Registrado : 05/11/2009

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  Alexandre Neves 11/7/2016, 18:53

    Boa tarde,
    Aconselho a completar a expressão da função DCount

    Dá erro porque txtQtd está nulo e Soma está vazio


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo
    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 814
    Registrado : 30/08/2010

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio 12/7/2016, 14:42

    É verdade Alexandre Neves precisa fazer esses ajustes, já tentei e não consegui. Como esse código não é de minha autoria estou tendo dificuldade de completar e colocar para funcionar.
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  Alvaro Teixeira 7/8/2016, 17:02

    Olá a todos,
    Gilbertanio, está com dificuldades porque o código não é seu!
    Eu também tenho dificuldade ao analisar.
    Tive o mesmo problema do vendedor mencionado pelo colega Alexandre Neves.
    Pode não afetar para a sua analise, mas afeta quem não conhece o projecto e tenta ajudar.
    Se o vendedor não faz falta nem é necessário, não deveria estar lá, além que não deveria ser impeditivo para adicionar um registo.

    Poderá iniciar pela sugestão do colega Alexandre Neves na mensagem n.4
    Abraço
    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 814
    Registrado : 30/08/2010

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio 7/8/2016, 18:59

    Olá ahteixeira obrigado pela ajuda. É verdade estou tenho muito dificuldade porque esse código não é de minha autoria

    O código de somar produtos repetidos foi me passado por formiga nesse tópico na mensagem 12.
    Mas não está completo como falou o Alexandre Neves na mensagem n.4. Faz dias que venho quebrando a cabeça mais não consegui ainda.
    Assim que conseguir posto a solução aqui.
    Obrigado mais uma vez.
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 818
    Registrado : 11/09/2013

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  formiga10x 8/8/2016, 00:27

    Boa noite pessoal.

    Gil veja neste projeto que estou a desenvolver. Nele faz a soma da quantidade caso já tenha lançado o produto.

    PS. Barra de Espaço para abrir os forms de buscas "Produto / clientes"


    [Resolvido]Somar itens repetidos 29dw9cx
    Anexos
    [Resolvido]Somar itens repetidos AttachmentPDV_Formiga.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.4 Mb) Baixado 118 vez(es)


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 818
    Registrado : 11/09/2013

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  formiga10x 8/8/2016, 02:33

    Como no seu caso o PDV foi desenvolvido focando em obj então faça as alterações no módulo clsDetalheVenda...

    Evento Insert...

    Código:
    'Método Incluir [Com conhecimento de SQL]
    'Inclui um novo objeto na tabela correspondente
    'dentro do Banco de dados
    Function incluir() As Boolean
    On Error GoTo Err_incluir

        Dim objCon As New aclConexaoBD
        Dim strSql As String

        strSql = "Insert Into " & _
                "DetalheVenda(codProduto,codVenda,qtdProduto,PrecoVenda) " & _
                "Values(" & objCon.valorSql(CStr(codProduto)) & "," & _
                    objCon.valorSql(codVenda) & "," & _
                    objCon.valorSql(qtdProduto) & "," & _
                    objCon.valorSql(PrecoVenda * qtdProduto) & ")"

        incluir = (objCon.executa(strSql) > 0)

        If incluir Then
            'Atualiza os campos de backup
            bkpCodProduto = codProduto
            bkpCodVenda = codVenda
        End If

    Exit_incluir:
        Exit Function

    Err_incluir:
        incluir = False
        GoTo Exit_incluir

    Evento Update...

    Código:
    'Método Salvar [Com conhecimento de SQL]
    'Salva o objeto atual na tabela correspondente
    'dentro do Banco de dados
    Function salvar() As Boolean
    On Error GoTo Err_salvar

        Dim objCon As New aclConexaoBD
        Dim strSql As String
    If DCount("codVenda", "DetalheVenda", "CodVenda =" & bkpCodVenda & " and CodProduto ='" & CStr(bkpCodProduto) & "'") Then

            strSql = "Update DetalheVenda " & _
                    "Set codProduto = " & objCon.valorSql(CStr(codProduto)) & _
                    ", codVenda = " & objCon.valorSql(codVenda) & _
                    ", qtdProduto = qtdProduto + " & objCon.valorSql(qtdProduto) & _
                    ", PrecoVenda = PrecoVenda + " & objCon.valorSql(PrecoVenda * qtdProduto) & _
                    " Where codProduto = " & objCon.valorSql(CStr(bkpCodProduto)) & _
                    " and codVenda = " & objCon.valorSql(bkpCodVenda)

            salvar = (objCon.executa(strSql) > 0)
        Else
            salvar = incluir
        End If

        If salvar Then
            'Atualiza as variáveis de backup
            'com o novo valor da chave
            bkpCodProduto = codProduto
            bkpCodVenda = codVenda
        End If

    Exit_salvar:
        Exit Function

    Err_salvar:
        salvar = False
        GoTo Exit_salvar

    End Function

    [Resolvido]Somar itens repetidos T523gh
    Anexos
    [Resolvido]Somar itens repetidos AttachmentPDV_ALTERADO_COM_VENDEDOR.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (220 Kb) Baixado 52 vez(es)


    Última edição por formiga10x em 8/8/2016, 07:01, editado 7 vez(es)


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes
    formiga10x
    formiga10x
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 818
    Registrado : 11/09/2013

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  formiga10x 8/8/2016, 03:23

    Como li acima que gostaria de retirar o vendedor ai está o bd sem o vendedor.

    PS. Não apaguei a classe nem as chamadas do objeto vendedor pois, caso necessite de por um vendedor como ex. usuário que está logado será bem mais prático aproveitar o código já pronto apenas adicionando uma variável global para receber o nome do user e passando como parâmetro para o obj.Vendedor.
    Anexos
    [Resolvido]Somar itens repetidos AttachmentPDV_ALTERADO_SEM_VENDEDOR.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (236 Kb) Baixado 29 vez(es)


    .................................................................................
    Abraço
    Formiga10x

    Sempre que possível poste o bd ou parte dele, com uma explicação bem clara e objetiva do que quer.
    “Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste - Richard Nixon”
    Formiga10x

    "Lembro do exato momento em que me dei conta que boa parte de minha vida foi dedicada a localizar erros em meus próprios programas."
    - Maurice Vicent Wilkes
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  Alvaro Teixeira 8/8/2016, 10:57

    Olá Elias, obrigado pelas orientações e alterações.
    Aguardamos o retorno do colega Gilberlanio.

    Este projecto (PDV) do Plínio Mabesi faz parte de um artigo a explicar como se trabalha com Classes.
    Fica o link do artigo para quem pretender aprofundar, recomendo vivamente.  Wink
    Abraço
    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 814
    Registrado : 30/08/2010

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio 8/8/2016, 18:25

    Perfeito tópico resolvido. Fiz da forma que o formiga colocou e funcionou perfeitamente.

    Agradeço profudamente a esses caras que ajudaram na resolução desse tópico:
    formiga
    ahteixeira
    Alexandre Neves


    Sucesso a todos vocês
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  Alvaro Teixeira 9/8/2016, 19:46

    Olá a todos,
    Gil obrigado pelo retorno, não se esqueça de dar o tópico como resolvido.
    Abraço
    gilberlanio
    gilberlanio
    Super Avançado
    Super Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 814
    Registrado : 30/08/2010

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio 10/8/2016, 03:28

    Bem lembrado
    Obrigado
    Alvaro Teixeira
    Alvaro Teixeira
    Moderador Global
    Moderador Global


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 7996
    Registrado : 15/03/2013

    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  Alvaro Teixeira 10/8/2016, 17:32

    cheers

    Conteúdo patrocinado


    [Resolvido]Somar itens repetidos Empty Re: [Resolvido]Somar itens repetidos

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 07:13