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]Devolver ao Estoque

    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 6/5/2020, 13:18

    Bom dia!
    Estou o código "abaixo" de um colega do fórum ,para dar baixa no estoque no entanto quando a venda é cancelada,o estoque continua a baixar.
    Como posso adaptar para se cancelado retornar ao estoque?
    Vi alguns posts relacionados porém não consegui adaptar .

    código baixa
    Dim baixa As Integer
    Dim msg1
    Dim qtd1, qtd22 As Double
    Dim sql11 As String
    qtd1 = DLookup("[QuantidadeEstoque] ", "[Tab_Produto]", "CódigoProduto = " & Me.idproduto & "")
    'Exibe questionameto sobre a atualização da quantidade e atualiaza em caso de confirmação

    qtd2 = Format(qtd1 - Forms!frmpontodevenda!frmdetalhesvenda!quant, "#,##0.00")
    Dim rs As Recordset

    Set rs = CurrentDb.OpenRecordset("SELECT CódigoProduto, QuantidadeEstoque FROM Tab_Produto WHERE CódigoProduto=" & Me.idproduto & "")
    rs.Edit
    rs("QuantidadeEstoque") = qtd2
    ' rs.Update
    rs.Close
    Me.Undo
    ' Me.Codproduto.Dropdown

    Exit_Err_Excluir_Click1:
    Exit Sub
    Err_Excluir_Click1:
    'msg = MsgBox("Não se pode excluir um registro ainda inexistente !!!", vbOKOnly + vbQuestion, "Atencão")
    Resume Exit_Err_Excluir_Click1
    Else
    If IsNull(DLookup("CódigoBarras", "Tab_Produto", "CódigoBarras= '" & Forms!frmpontodevenda!codbarras & "'")) Then
    'If IsNull(DLookup("CódigoBarras", "Tab_Produto", "CódigoBarras= '" & Int(Forms!frmpontodevenda!CodBarras) & "'")) Then
    MsgBox "Produto não Cadastro!Entre com o Valor", vbInformation, "ATENÇÃO"
    DoCmd.OpenForm "formulário1"
    Exit Sub
    End If
    DoCmd.GoToControl "frmdetalhesvenda"
    avatar
    zcarloslopes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 393
    Registrado : 28/10/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  zcarloslopes 6/5/2020, 15:41

    Boa tarde Agravina,

    À primeira vista parece que apenas precisa cria uma rotina de cancelamento igual a que tem, altere apenas a linha:
    Código:
    qtd2 = Format(qtd1 - Forms!frmpontodevenda!frmdetalhesvenda!quant, "#,##0.00")
    Para:
    Código:
    qtd2 = Format(qtd1 + Forms!frmpontodevenda!frmdetalhesvenda!quant, "#,##0.00")

    Tente isso.
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 6/5/2020, 15:54

    Olá amigo zcarloslopes olhando a primeira vista me parece que os que as linhas de código que colocou são idênticas?
    avatar
    zcarloslopes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 393
    Registrado : 28/10/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  zcarloslopes 6/5/2020, 15:59

    Sim, uma subtrai, no caso de uma saída, e a outra soma, no caso de um cancelamento.

    Mas se não conseguir coloque aqui a parte da DB que pretende ajuda.
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 6/5/2020, 18:19

    Utilize está rotina no botão cancelar
    Private Sub txtCancelar_Click()
    Dim msg
    msg = MsgBox("Deseja realmente cancelar a venda ?", vbCritical + vbYesNo + vbDefaultButton2, "Informação ao Usuario")
    If msg = vbNo Then Exit Sub
    DoCmd.OpenQuery "csexcluir_PDV"
    DoCmd.OpenQuery "csexcluir_vendaPDV"
    Me!frmdetalhesvenda.Requery
    DoCmd.RunCommand acCmdRefresh
    Me.txtproduto = ""
    Me.texto52 = ""
    DoCmd.GoToRecord , , acNewRec
    'Me.txtid.SetFocus
    Me.frmimagem.Visible = True

    End Sub
    avatar
    jntrindade
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 277
    Registrado : 07/12/2009

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  jntrindade 6/5/2020, 18:48

    eu utilizo esse codigo:
    Dim apaga As Integer
    Dim Msg
    On Error GoTo Err_Excluir_Click
    DoCmd.SetWarnings False
    '=====================================================
    'FAVOR NÃO RETIRE OS CRÉDITOS
    'por Glicério Júnior (Jungli) ... jungli@ibest.com.br em 8.6.2011
    'Modificado por: XXXXXXXX em DD/MM/YYYY
    '=====================================================

    'ESTORNAR UMA MERCADORIA NADA MAIS É
    'DO QUÊ VOCÊ DESFAZER UMA SAÍDA ERRADA (POR QUALQUER MOTIVO)
    'E CORRIGIR A QUANTIDADE DA MESMA.

    'ATÉ A PRÓXIMA

    'Define as variáveis
    Dim qtd, qtd2 As Double
    Dim sql1 As String
    Dim z As String
    z = Me!produto
    'Pega o valor do estoque atual do produto

    qtd = Format(DLookup("[QuantidadeEstoque] ", "[Tab_Produto]", "[CódigoProduto] = " & Me.codprod), "#,##0.0")


    'Exibe questionameto sobre a atualização da quantidade e atualiaza em caso de confirmação
    If MsgBox("Deseja estornar o item: " & z, vbYesNo + vbQuestion, "Estorno de registro") = vbYes Then
    qtd2 = qtd + quant
    sql1 = "UPDATE Tab_Produto SET Tab_Produto.QuantidadeEstoque = " & qtd2 & _
    " WHERE (((Tab_Produto.CódigoProduto)=" & Me.codprod & "));"
    CurrentDb.Execute sql1
    'Apaga o registro
    DoCmd.RunCommand acCmdSelectRecord
    DoCmd.RunCommand acCmdDeleteRecord
    'Mensagem de confirmação
    MsgBox "Item excluído da lista!!!", vbInformation, "CONFIRMAÇÃO"
    Else
    Me.Undo
    Me!Forms!frmvenda!frmpedido!cod_produto.SetFocus
    'Me.CodProduto.Dropdown
    End If

    Me.Refresh
    Exit_Err_Excluir_Click:
    Exit Sub
    Err_Excluir_Click:
    'MSG = MsgBox("Não se pode excluir um registro ainda inexistente !!!", vbOKOnly + vbQuestion, "Atencão")
    Resume Exit_Err_Excluir_Click

    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 6/5/2020, 19:21

    Não estou conseguindo
    coloquei um exemplo ai
    Anexos
    [Resolvido]Devolver ao Estoque AttachmentdevolverEstoque.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (147 Kb) Baixado 23 vez(es)
    avatar
    zcarloslopes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 393
    Registrado : 28/10/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  zcarloslopes 7/5/2020, 09:23

    Bom dia Agravina,

    Coloque o código seguinte no Botão Excluir a seguir ao código já existente:
    Código:
    DoCmd.SetWarnings False
        
    qtd = Format(DLookup("[QuantidadeEstoque] ", "[Tab_Produto]", "[CódigoProduto] = " & Me.idproduto), "0.00")
                
    qtd2 = qtd + txtQtd
    sql1 = "UPDATE Tab_Produto SET QuantidadeEstoque = '" & qtd2 & "' WHERE CódigoProduto=" & Me.idproduto & ""
    CurrentDb.Execute sql1

    DoCmd.SetWarnings True

    Me.txtQtd = 1
    O código funciona no caso de ter apenas uma linha de saida. Esse será o caminho...
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 7/5/2020, 10:45

    Bom dia
    Como se trata de um formulário de vendas ou seja varias linhas ,como eu faço para devolver os outros itens também?
    avatar
    zcarloslopes
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 393
    Registrado : 28/10/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  zcarloslopes 7/5/2020, 10:57

    Adiante mas alguns detalhes por favor..

    Em que situações é necessário cancelar uma saída?

    Na mesma saída existem mais que um produto diferente?

    Quando pretende cancelar uma saída, tem que cancelar todas as linhas, ou apenas uma ou outra específica?
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 7/5/2020, 12:17

    Em uma situação de cancelamento de venda

    Precisarei sim cancelar todas as linhas
    Sim poderá ter vários produtos diferentes
    Mensagem nº9 tem um exemplo para facilitar o entendimento.
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 8/5/2020, 21:32

    Up.
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 294
    Registrado : 19/08/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  marcelo3092 9/5/2020, 19:58

    Ola amigo Bom Baixei e fiz umas modificações em teu projeto qualquer coisa vc volta mais fiz o que vc queria coloquei um loop dentro de outro,
    Ele pega e seleciona na tabela detalhe o pelo numero da venda aberta pega um por um de cada registro e adicona a quantidade vendida de devolta na tabela produto. e tb tinha outro problema não sei se vc tinha visto pois mesmo vendendo mais q um na quantidade ele baixo somente 1 da quantidade tinha tb umas variaveis que tava com nome faltando da um olhada ai faça a venda dos produtos, e tem um botao la embaixo com estoque+ ao clica ele atualiza a tabela.
    Algumas dicas:
    1- coloca um campo status para gravar venda aberta venda fechada e venda cancelada.
    https://drive.google.com/open?id=1u4M81l_3l08DvTVkKi95TzdoUDDcUea0

    de uma olhada.
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 9/5/2020, 21:49

    Olá Marcelo primeiramente agradeço ajuda
    Não entendi o exemplo ?
    o exemplo quando faz a venda normal não baixa mais o estoque?

    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 294
    Registrado : 19/08/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  marcelo3092 10/5/2020, 15:48

    Antes n mesmo colocando mais de 1 na quantidade ele só tirava um. Aí fiz umas modificações tá funcionando.
    Vc. Adiciona o item normal abre a tabela produto e vaja ele baixa aí vc clica no botão estoque+ ele volta a quantidade vendida para o estoque
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 10/5/2020, 20:24

    Perdão amigo mas não funciona!
    não baixa do estoque quando o produto vendido
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 294
    Registrado : 19/08/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  marcelo3092 10/5/2020, 23:19

    Entao n sei que pode estar acontecendo assista o video e veja a medida que se adiciona o produto na venda ele desconta do registro do produto o campo quantidadeestoque e quando clica no botao estoque+ ele volta a quantidade que foi vendida nesta venda.

    https://drive.google.com/open?id=1f9jjBB5fRr1Q0YgKP_S4Z8zbLdciiHg1
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 10/5/2020, 23:42

    observe se a quantidade não for alterada se for igual 1 não funciona
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 294
    Registrado : 19/08/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  marcelo3092 11/5/2020, 00:10

    Exato Porque vc coloco a quantidade padrao no valor padrao das propriedades ai quando abre ele nao reconhece o que esta digitado como se tivesse vazio da um
    afterupdate no campo que funciona

    Dim rs As Recordset
    Dim strSQL As String
    Dim baixa As Integer
    Dim msg1
    Dim qtd1, qtd2 As Double
    Dim sql1 As String
    Dim apaga As Integer
    Dim msg

    Me.texto52.Visible = True
    txtQtd_AfterUpdate
    'coloca essa linha exatamente aqui no seu codigo o campo codbarras

       DoCmd.GoToControl "frmdetalhesvenda"
       DoCmd.GoToRecord , , acNewRec
       Forms!frmpontodevenda!texto52 = DLookup("PreçoUnitário", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!quant = Me.txtQtd 'Essa linha aqui que está atribuíndo a quantidade
       'Forms!frmpontodevenda!txtqdeII = Nz(Idpeso) / (Texto52) * 10
       Forms!frmpontodevenda!frmdetalhesvenda!vlrunitario = DLookup("preçounitário", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       'Forms!frmpontodevenda!frmdetalhesvenda!desc = Me.desc
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 11/5/2020, 00:18

    Perdoe me amigo ,mas agora desconta de 2 em dois !
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 294
    Registrado : 19/08/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  marcelo3092 11/5/2020, 23:37

    Amigo so se vc estiver colocando duas vezes o mesmo produto veja o video ele funciona tanto colocando mais de uma como deixando com 1

    https://drive.google.com/open?id=1ZqZBIG8kPHozMf4bnLcpyxXIc7DJl3F0

    Tela Frente Caixa tem que ser bem objetiva e ter varios tratamentos, como por exemplo nao deixar o produto entrar se n tiver no estoque, a menos que se digite a senha do supervisor.
    se por ventura digitar o mesmo produto ele soma no produto que ja se encontra na lista.
    eu fiz um sistema de mercado uma vez com frente caixa

    Da uma olhada nesse video pra vc ver e ter uma ideia.
    a frase que fica aparecente na parte de cima e uma propagando que pode ser adicionada no caso e como se fosse um painel de mensagens.

    https://drive.google.com/open?id=1g3It1QPnxusX5K5_JZ4WJvdtpvbgN4yy
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 12/5/2020, 13:03

    Não funcionou
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 12/5/2020, 23:22

    Amigo as linhas em vermelho foram  suprimidas na mensagem 13 mas elas se fazem necessário ao projeto
    fazem referencias se os códigos não existirem como podemos adpta-las

    código original

    Private Sub codbarras_AfterUpdate()
    Me.frmimagem.Visible = False
    Me.texto52.Visible = True

    If Idois = "2" Then
       If IsNull(DLookup("CódigoBarras", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")) Then
           MsgBox "Produto não Cadastrado ", vbInformation, "ATENÇÃO"

         
           Exit Sub
       End If
       DoCmd.GoToControl "frmdetalhesvenda"
       DoCmd.GoToRecord , , acNewRec
       Forms!frmpontodevenda!texto52 = DLookup("PreçoUnitário", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!quant = Nz(Idpeso) / (texto52) * 10 'Essa linha aqui que está atribuíndo a quantidade
       'Forms!frmpontodevenda!txtqdeII = Nz(Idpeso) / (Texto52) * 10
       Forms!frmpontodevenda!frmdetalhesvenda!vlrunitario = DLookup("preçounitário", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       'Forms!frmpontodevenda!frmdetalhesvenda!desc = Me.desc
       Forms!frmpontodevenda!frmdetalhesvenda!LucroReal = DLookup("lucroreal", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
          Forms!frmpontodevenda!frmdetalhesvenda!descricao = DLookup("Descrição", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!codbarras = DLookup("CódigoBarras", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       Forms!frmpontodevenda!TxtProduto = DLookup("descrição", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       Forms!frmpontodevenda!Idproduto = DLookup("CódigoProduto", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!Codproduto = DLookup("CódigoProduto", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!Categoria = DLookup("categoria", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!valorimposto = DLookup("valorimposto", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
         Me.txtQtd = 1
       Forms!frmpontodevenda!codbarras = ""
         Forms!frmpontodevenda!codbarras.SetFocus
         'Forms!frmpontodevenda!frmdetalhesvenda!coddetalhevenda = Me.codvenda
       DoCmd.RunCommand acCmdSaveRecord
       '-------------------------
       Dim baixa As Integer
       Dim msg1
         Dim qtd1, qtd22 As Double
       Dim sql11 As String
        qtd1 = DLookup("[QuantidadeEstoque] ", "[Tab_Produto]", "CódigoProduto = " & Me.Idproduto & "")
           'Exibe questionameto sobre a atualização da quantidade e atualiaza em caso de confirmação
           
       qtd2 = Format(qtd1 - Forms!frmpontodevenda!frmdetalhesvenda!quant, "#,##0.00")
               Dim rs As Recordset
       
       Set rs = CurrentDb.OpenRecordset("SELECT CódigoProduto, QuantidadeEstoque FROM Tab_Produto WHERE CódigoProduto=" & Me.Idproduto & "")
       rs.Edit
           rs("QuantidadeEstoque") = qtd2
      ' rs.Update
       rs.Close
       Me.Undo
    '   Me.Codproduto.Dropdown
                   
    Exit_Err_Excluir_Click1:
       Exit Sub
    Err_Excluir_Click1:
       'msg = MsgBox("Não se pode excluir um registro ainda inexistente !!!", vbOKOnly + vbQuestion, "Atencão")
       Resume Exit_Err_Excluir_Click1
    Else
    If IsNull(DLookup("CódigoBarras", "Tab_Produto", "CódigoBarras= '" & Forms!frmpontodevenda!codbarras & "'")) Then
       'If IsNull(DLookup("CódigoBarras", "Tab_Produto", "CódigoBarras= '" & Int(Forms!frmpontodevenda!CodBarras) & "'")) Then
           MsgBox "Produto não Cadastro", vbInformation, "ATENÇÃO"
           Exit Sub

       End If
       DoCmd.GoToControl "frmdetalhesvenda"
       DoCmd.GoToRecord , , acNewRec
       
       Forms!frmpontodevenda!frmdetalhesvenda!quant = Me.txtQtd  'Essa linha aqui que está atribuíndo a quantidade
       'Forms!frmpontodevenda!frmdetalhesvenda!desc = Me.desc
       Forms!frmpontodevenda!frmdetalhesvenda!vlrunitario = DLookup("PreçoUnitário", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!codbarras & "'")
       '#######################incluí a linha seguinte###################################
       Forms!frmpontodevenda!frmdetalhesvenda!LucroReal = DLookup("lucroreal", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!codbarras & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!descricao = DLookup("Descrição", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!codbarras & "'")
       Forms!frmpontodevenda!TxtProduto = DLookup("Descrição", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!codbarras & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!codbarras = DLookup("CódigoBarras", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!codbarras & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!Codproduto = DLookup("CódigoProduto", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!codbarras & "'")
       Forms!frmpontodevenda!Idproduto = DLookup("CódigoProduto", "Tab_Produto", "CódigoBarras= '" & Forms!frmpontodevenda!codbarras & "'")
       Forms!frmpontodevenda!texto52 = DLookup("PreçoUnitário", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!codbarras & "'")
        Forms!frmpontodevenda!frmdetalhesvenda!Categoria = DLookup("categoria", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!codbarras & "'")
       Forms!frmpontodevenda!frmdetalhesvenda!valorimposto = DLookup("valorimposto", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!codbarras & "'")
       Forms!frmpontodevenda!codbarras = ""

       Forms!frmpontodevenda!codbarras.SetFocus
      ' Forms!frmpontodevenda!frmdetalhesvenda!coddetalhevenda = Me.codvenda
       DoCmd.RunCommand acCmdSaveRecord
    End If

    Dim apaga As Integer
    Dim msg
    On Error GoTo Err_Excluir_Click
    DoCmd.SetWarnings False
       
    'Pega o valor do estoque atual do produto
    qtd = Format(DLookup("[QuantidadeEstoque] ", "[Tab_Produto]", "[CódigoProduto] = " & Me.Idproduto), "0.00")
       
    'Exibe questionameto sobre a atualização da quantidade e atualiaza em caso de confirmação
           
    qtd2 = qtd - txtQtd
    sql1 = "UPDATE Tab_Produto SET QuantidadeEstoque = '" & qtd2 & "' WHERE CódigoProduto=" & Me.Idproduto & ""
    CurrentDb.Execute sql1
           
    'Me.Undo
    'Me.Codproduto.Dropdown
     Me.txtQtd = 1
    Exit_Err_Excluir_Click:
    Exit Sub
    Err_Excluir_Click:
    'msg = MsgBox("Não se pode excluir um registro ainda inexistente !!!", vbOKOnly + vbQuestion, "Atencão")
    Resume Exit_Err_Excluir_Click
    End Sub
    marcelo3092
    marcelo3092
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 294
    Registrado : 19/08/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  marcelo3092 13/5/2020, 01:37

    Bom na verdade o ideal seria fazer uma consulta do tipo dcount para retorna se e verdadeiro ou falso
    E sendo verdadeira execulta o segundo codigo que tras os dados do produto. se falso vc pode colocar um produto generico do tipo que vc so informa a quantidade e o preço unitario desse produto.

    Não entendi pq If Idois = "2" Then Idois o que significa no codigo.
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 13/5/2020, 01:43

    Não entendi pq If Idois = "2" Then Idois o que significa no codigo
    está linha se refere ao código de balanças
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 13/5/2020, 03:42

    para encerrar este topico
    preciso colocar um mensagem e abrir um formulário
    se digitar um código que não está no sistema
    onde adapto no código abaixo

    Private Sub codbarras_AfterUpdate()
    Dim rs As Recordset
    Dim strSQL As String
    Dim baixa As Integer
    Dim msg1
    Dim qtd1, qtd2 As Double
    Dim sql1 As String
    Dim apaga As Integer
    Dim msg

    Me.texto52.Visible = True

    DoCmd.GoToControl "frmdetalhesvenda"
    DoCmd.GoToRecord , , acNewRec
    Forms!frmpontodevenda!texto52 = DLookup("PreçoUnitário", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    Forms!frmpontodevenda!frmdetalhesvenda!quant = Me.txtQtd 'Essa linha aqui que está atribuíndo a quantidade
    'Forms!frmpontodevenda!txtqdeII = Nz(Idpeso) / (Texto52) * 10
    Forms!frmpontodevenda!frmdetalhesvenda!vlrunitario = DLookup("preçounitário", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    'Forms!frmpontodevenda!frmdetalhesvenda!desc = Me.desc
    Forms!frmpontodevenda!frmdetalhesvenda!LucroReal = DLookup("lucroreal", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    Forms!frmpontodevenda!frmdetalhesvenda!descricao = DLookup("Descrição", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    Forms!frmpontodevenda!frmdetalhesvenda!codbarras = DLookup("CódigoBarras", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    Forms!frmpontodevenda!txtproduto = DLookup("descrição", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    Forms!frmpontodevenda!idproduto = DLookup("CódigoProduto", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    Forms!frmpontodevenda!frmdetalhesvenda!Codproduto = DLookup("CódigoProduto", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    Forms!frmpontodevenda!frmdetalhesvenda!categoria = DLookup("categoria", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    Forms!frmpontodevenda!frmdetalhesvenda!valorimposto = DLookup("valorimposto", "Tab_Produto", "CódigoBarras='" & Forms!frmpontodevenda!Idprodutovv0 & "'")
    'Me.txtQtd = 1
    Forms!frmpontodevenda!codbarras = ""
    Forms!frmpontodevenda!codbarras.SetFocus
    'Forms!frmpontodevenda!frmdetalhesvenda!coddetalhevenda = Me.codvenda
    DoCmd.RunCommand acCmdSaveRecord
    '-------------------------

    qtd1 = DLookup("[QuantidadeEstoque] ", "[Tab_Produto]", "CódigoProduto = " & Me.idproduto & "")
    'Exibe questionameto sobre a atualização da quantidade e atualiaza em caso de confirmação


    qtd2 = qtd1 - txtQtdVendida

    'Desabilita os avisos
    DoCmd.SetWarnings False

    'Monta a consulta atualização utilizando
    'como critério o código da empresa
    strSQL = "Update Tab_Produto Set QuantidadeEstoque = " & qtd2 & " where CódigoProduto = " & Me.idproduto & ""
    'Executa a consulta
    DoCmd.RunSQL strSQL
    'Habilita os avisos novamente
    DoCmd.SetWarnings True

    'Exit_Err_Excluir_Click1:
    ' Exit Sub
    'Err_Excluir_Click1:
    'msg = MsgBox("Não se pode excluir um registro ainda inexistente !!!", vbOKOnly + vbQuestion, "Atencão")
    ' Resume Exit_Err_Excluir_Click1

    End Sub
    Agravina
    Agravina
    Maximo VIP
    Maximo VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1623
    Registrado : 18/07/2010

    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Agravina 15/5/2020, 01:42

    Meus agradecimentos ao amigo Marcelo3092

    Conteúdo patrocinado


    [Resolvido]Devolver ao Estoque Empty Re: [Resolvido]Devolver ao Estoque

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 15:19