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


3 participantes

    Dúvida em código VBA para atualização e inserção de estoque

    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 16/5/2014, 01:10

    Boa noite! Estou com um problema no meu código VBA e não consigo descobrir aonde, vocês poderiam me ajudar?! Fiz um código VBA para atualizar e/ou inserir a quantidade de estoque, ele funciona até bem, mas quando se coloca compras grandes alguns registros anteriores são zerados. Não consegui descobrir o porque...
    *** Tbm tenho a tabela de venda mas ainda nem comecei a testar porque a de compra está dando este problema.
    Abaixo vão as os campos das tabelas (colocarei só os campos em questão pra ser mais suscinta), algumas sobre o programinha que estou desenvolvendo e as versões de software. Não vou postar agora o arquivo porque minha net está muito ruim por causa da chuva (pelo menos acho que é isso), mas se precisar arranjo um jeito.

    Office 2013; Windows 8.1 64b

    TblProduto
    ID
    CodBarras
    CodEmpresa
    NmProduto

    TblDetProduto
    ID
    IDProduto
    IDTamanho
    IDCor
    QtdEstoque
    QtdMin

    TblCompra
    ID
    NtFiscal
    IDEmpresa

    TblDetCompra
    ID
    IDCompra
    CodEmpresa
    IDProduto
    IDTamanho
    IDCor
    Qtd

    Código VBA de Estoque:

    Sub AtualizaProdutoEntrada()

    Dim strSQL As String

    Dim db As DAO.Database
    Dim rs As DAO.Recordset
    Dim cn As String
    Dim Criteria As Integer
    Dim cs
    cs = DMax("ID", "TblCompra")
    cn = "SELECT IDProduto, IDTamanho, IDCor, Qtd FROM TblDetCompra WHERE IDCompra=" & cs

    Set db = CurrentDb
    Set rs = db.OpenRecordset(cn, dbOpenDynaset)

    Do Until rs.EOF

    Criteria = Nz(DCount("ID", "TblDetProduto", "IDProduto=" & rs("IDProduto") & " AND IDTamanho=" & rs("IDTamanho") & " AND IDCor=" & _
    rs("IDCor")), 0)

    If Criteria = 0 Then

    strSQL = "INSERT INTO TblDetProduto ( IDProduto, IDTamanho, IDCor, QtdEstoque )" & _
    "VALUES(" & _
    rs("IDProduto") & ",'" & _
    rs("IDTamanho") & "','" & _
    rs("IDCor") & "','" & _
    rs("Qtd") & "')"
    db.Execute strSQL

    Else

    strSQL = "UPDATE TblDetProduto SET TblDetProduto.QtdEstoque =" & _
    "[TblDetProduto].[QtdEstoque]+" & rs("Qtd") & " WHERE IDProduto=" & rs("IDProduto") & " AND IDTamanho=" & _
    rs("IDTamanho") & " AND IDCor=" & _
    rs("IDCor") & ";"
    db.Execute strSQL

    End If

    rs.MoveNext
    Loop

    AtualizaProdutoEntrada_Exit:
    On Error Resume Next

    rs.Close
    db.Close
    Set rs = Nothing
    Set db = Nothing
    Exit Sub

    AtualizaProdutoEntrada_Err:
    MsgBox err.Description, vbCritical, "ERRO!"
    Resume AtualizaProdutoEntrada_Exit

    End Sub

    Agradeço desde já!
    Camila Santos
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  Cláudio Más 17/5/2014, 05:30

    Talvez o uso da função Nz() resolva:

    strSQL = "UPDATE TblDetProduto SET TblDetProduto.QtdEstoque =" & _
    "Nz([TblDetProduto].[QtdEstoque])+" & Nz(rs("Qtd")) & " WHERE IDProduto=" & rs("IDProduto") & " AND IDTamanho=" & _
    rs("IDTamanho") & " AND IDCor=" & _
    rs("IDCor") & ";"
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 18/5/2014, 00:57

    Obrigado, Cláudio! vou tentar hoje pra ver se funciona e te retorno.
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 18/5/2014, 04:29

    Ok... Deu certo nos Testes que eu fiz, mas quando fui realmente inserir os dados, olhei na tabela só pra desencargo e o erro continua...  Crying or Very sad 
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 18/5/2014, 05:21

    Aqui vai o arquivo, se alguém conseguir...  Crying or Very sad
    Anexos
    Dúvida em código VBA para atualização e inserção de estoque Attachmentbanco.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (835 Kb) Baixado 26 vez(es)
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  Cláudio Más 19/5/2014, 05:34

    Camila, eu rodei a sub AtualizaProdutoEntrada(), e a tabela TblDetProduto não apresentou nenhum registro zerado.
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 19/5/2014, 13:13

    Pequenas compras o código roda legal, ou compras grandes com poucos itens duferentes. O problema é só quando eu coloco uma compra de mais de 40 itens diferentes. Você viu a compra da kafka? foi quando a inseri que deu o problema.
    Cláudio Más
    Cláudio Más
    Developer
    Developer


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1314
    Registrado : 21/01/2012

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  Cláudio Más 19/5/2014, 14:45

    Vi sim, mas ainda não estou percebendo o problema, não tem nenhum registro zerado.
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 20/5/2014, 15:26

    Cláudio, tenta fazer uma compra com muitos produtos diferentes, não necessariamente com quantidades grandes. Descobri que o erro só acontece assim, só muda os primeiros registros, e só quando a quantidade é 1. Esquisito... Quando coloco poucos tipos de produtos, tudo fica tranquilo, mas quando a compra tem vários, acontece o erro com os primeiros registros da tabela. Vou fazer um exemplo e mandar sem a correção. É que já tô meio desesperançada, aí simplesmente vou lá na tabela e conserto à mão mesmo.
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  rdrck 20/5/2014, 17:23

    Olá Camila,
    A quantidade do produto em estoque está no campo QtdMin da TblDetProduto?
    Se sim, e com a licença do colega Cláudio, pode tentar o cógido abaixo no evento "Ao Sair" de seu campo de saída do form de compras (quantidade comprada):

    DoCmd.RunSQL ("update TblDetProduto set QtdMin = (QtdMin+(Formulários![SEUFORMULÁRIO]![SEUCAMPOSAIDA])) where TblDetProduto.ID=(Formulários![SEUFORMULÁRIO]![CÓDIGO]);")

    Se quiser colocar no campo de saída (form de vendas) é só substituir, no código, a soma (+) pela subtração (-).
    Veja se funciona.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 28/5/2014, 13:22

    Oi!
    Desculpa a demora gente.
    rdrck, é QtdEstoque, mas vou tentar colocar esse código trocando os nomes.
    Dessa vez eu não ajeitei a tabela manualmente como no primeiro que enviei, tô mandando com o erro.
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  rdrck 28/5/2014, 13:27

    Ok. Aguardamos.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 28/5/2014, 13:37

    Não tô conseguindo enviar por aqui então vai o link do arquivo no dropbox:

    https://www.dropbox.com/s/onc91awphfb3swq/bancocomerro.accdb

    aqui a screen shot:
    Dúvida em código VBA para atualização e inserção de estoque Ao5npe
    rdrck
    rdrck
    VIP
    VIP


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 1011
    Registrado : 11/03/2014

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  rdrck 28/5/2014, 13:46

    Meu Access 2007 não reconheceu o formato.


    .................................................................................
    Meu Programa / OS:
    Access 2010 - Windows 10.
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 30/5/2014, 01:58

    oi, não consegui converter o arquivo para 2000-2003. disse que usava recursos que só podiam ser usados no tipo de arquivo atual.
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 2/6/2014, 15:07

    Ninguém conseguiu descobrir o que tem de errado no código?!
    avatar
    camila_santino
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 13
    Registrado : 11/08/2011

    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  camila_santino 6/6/2014, 00:27

    Existe alguma outra forma de fazer o que estou tentando?! Talvez mudar completamente o código seja melhor do que insistir neste...

    Conteúdo patrocinado


    Dúvida em código VBA para atualização e inserção de estoque Empty Re: Dúvida em código VBA para atualização e inserção de estoque

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 22/11/2024, 08:48