MaximoAccess

Caro Usuário, não tire as suas duvidas nas Salas de Repositório, abra sempre um novo tópico relacionado, nas salas destinadas para o efeito, como Sala de Tabelas, Consultas, Formulários, Relatórios, Macros, Módulos e VBA.

Obrigado

Administração do MaximoAccess

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

    [Resolvido]Somar itens repetidos

    Compartilhe

    gilberlanio
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio em Sex 08 Jul 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: [Você precisa estar registrado e conectado para ver este link.]

    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:
    [Você precisa estar registrado e conectado para ver esta imagem.]

    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
    PDV.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (199 Kb) Baixado 19 vez(es)


    .................................................................................
    VIDEO CURSO DE ACCESS - Criando um sistema de vendas

    [Você precisa estar registrado e conectado para ver este link.]

    Loja virtual - Gilberlânio Rocha

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  Alexandre Neves em Dom 10 Jul 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
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio em Seg 11 Jul 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


    .................................................................................
    VIDEO CURSO DE ACCESS - Criando um sistema de vendas

    [Você precisa estar registrado e conectado para ver este link.]

    Loja virtual - Gilberlânio Rocha

    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  Alexandre Neves em Seg 11 Jul 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
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio em Ter 12 Jul 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.


    .................................................................................
    VIDEO CURSO DE ACCESS - Criando um sistema de vendas

    [Você precisa estar registrado e conectado para ver este link.]

    Loja virtual - Gilberlânio Rocha

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  ahteixeira em Dom 07 Ago 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
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio em Dom 07 Ago 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 [Você precisa estar registrado e conectado para ver este link.] 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.


    .................................................................................
    VIDEO CURSO DE ACCESS - Criando um sistema de vendas

    [Você precisa estar registrado e conectado para ver este link.]

    Loja virtual - Gilberlânio Rocha

    formiga10x
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  formiga10x em Seg 08 Ago 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"


    [Você precisa estar registrado e conectado para ver esta imagem.]
    Anexos
    PDV_Formiga.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (1.4 Mb) Baixado 18 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
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  formiga10x em Seg 08 Ago 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

    [Você precisa estar registrado e conectado para ver esta imagem.]
    Anexos
    PDV_ALTERADO_COM_VENDEDOR.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (220 Kb) Baixado 8 vez(es)


    Última edição por formiga10x em Seg 08 Ago 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
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  formiga10x em Seg 08 Ago 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
    PDV_ALTERADO_SEM_VENDEDOR.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (236 Kb) Baixado 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

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  ahteixeira em Seg 08 Ago 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
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio em Seg 08 Ago 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


    .................................................................................
    VIDEO CURSO DE ACCESS - Criando um sistema de vendas

    [Você precisa estar registrado e conectado para ver este link.]

    Loja virtual - Gilberlânio Rocha

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  ahteixeira em Ter 09 Ago 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
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  gilberlanio em Qua 10 Ago 2016, 03:28

    Bem lembrado
    Obrigado


    .................................................................................
    VIDEO CURSO DE ACCESS - Criando um sistema de vendas

    [Você precisa estar registrado e conectado para ver este link.]

    Loja virtual - Gilberlânio Rocha

    ahteixeira
    Moderador
    Moderador

    Respeito às Regras 100%

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

    Re: [Resolvido]Somar itens repetidos

    Mensagem  ahteixeira em Qua 10 Ago 2016, 17:32

    cheers

      Data/hora atual: Ter 06 Dez 2016, 05:41