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


2 participantes

    [Resolvido]Atualização de Estoque via VBA

    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 375
    Registrado : 17/04/2011

    [Resolvido]Atualização de Estoque via VBA Empty Atualização de Estoque via VBA

    Mensagem  Walter 30/8/2012, 16:20

    Boa tarde.
    Estou implementando o código abaixo para atualizar Estoque no Banco de dados. O código foi retirado desse mesmo forum, num tópico respondido pelo JPaulo. Ele não está funcionando legal, pois os produtos ficam num subformulario continuo e o sistema atualiza apenas o primeiro produto... Quando dou baixa no segundo produto ele continua dando baixa no primeiro.Onde estará o erro do código?
    O Código é o seguinte:

    Private Sub Atualizar_Saida_AfterUpdate()
    On Error Resume Next
    'Testa se é verdadeiro o valor do controle Atualizar_Saida.
    If Atualizar_Saida = True Then
    'Se for verdadeiro, pergunta ao usuário se ele deseja atualizar a quantidade do produto no estoque.
    If MsgBox("Deseja atualizar a quantidade deste produto no estoque?", vbYesNo, "Aviso") = vbYes Then
    'Se o usuário não entrar com um valor ou se o valor for o (zero), o Sistema emite uma mensagem.
    If IsNull(Me.Qtde_Compra) Or Me.Qtde_Compra = 0 Then
    MsgBox "Informe a quantidade de vendida no estoque!", vbCritical + vbOKOnly, "Atenção!"
    Me.Qtde_Compra.SetFocus
    Exit Sub
    End If
    'Declara nova variável (cnn) de conexão pelo sistema ADO
    Dim cnn As New ADODB.Connection
    'Declara variável rs1 para os registros
    Dim rs1 As ADODB.Recordset
    'Abre a conexão com o banco
    Set cnn = CurrentProject.Connection
    'Abre a conexão com o registro
    Set rs1 = New ADODB.Recordset
    rs1.CursorType = adOpenKeyset
    rs1.LockType = adLockOptimistic
    'Abre a Tabela_Produtos
    rs1.Open "Tabela_Produtos", cnn, , , adCmdTable
    'Procura e compara código do produto entre as tabelas Produtos e a tabela de itens.
    rs1.Find "Id_Produto=" & Me.Id_Produto_Item, 0, adSearchForward, 1
    If Not rs1.EOF Then
    'Diminui a quantidade de itens que saiu naquele momento ao estoque. (Compra)
    rs1("Estoque") = rs1("Estoque") - Me.Qtde_Compra
    'Verifica se o estoque é menor do que 0 (zero)
    If rs1("Estoque") < 0 Then
    'Se for, emite mensagem ao usuário
    MsgBox "Quantidade não disponível. Saldo atual em estoque de " & rs1("Estoque") + Me.Qtde_Compra & " produtos", vbCritical, "Atenção!"
    Cancel = True
    Else
    'Verifica se o estoque atual é menor do que o estoque mímino
    If rs1("Estoque") < rs1("Estoque_Minimo") Then
    ' Se for, emite mensagem avisando ao usuário que deve pedir deste produto ao fornecedor
    MsgBox "Estoque atual abaixo do estoque mínimo. Pedir no mínimo " & rs1("Estoque_Minimo") - rs1("Estoque") & " produtos(s)", vbExclamation, "Atenção!"
    'Atualiza a tabela de estoques
    Cancel = True
    Else
    rs1.Update
    'Emite uma mensagem informando a quantidade atual no estoque.
    MsgBox "Quantidade atual disponível de " & rs1("Estoque") & " produtos", vbExclamation, "Atenção!"
    End If
    End If
    End If
    'Fecha a conexão com o banco
    Set cnn = Nothing
    'Fecha a conexão com o registro
    Set rs1 = Nothing
    Else
    End If
    End If
    End Sub

    Obrigado,

    Walter
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    [Resolvido]Atualização de Estoque via VBA Empty Re: [Resolvido]Atualização de Estoque via VBA

    Mensagem  JPaulo 30/8/2012, 17:09

    Não funciona legal, porque esse código não está feito para formulario continuo.


    .................................................................................
    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]Atualização de Estoque via VBA Folder_announce_new Utilize o Sistema de Busca do Fórum...
    [Resolvido]Atualização de Estoque via VBA Folder_announce_new 102 Códigos VBA Gratuitos...
    [Resolvido]Atualização de Estoque via VBA Folder_announce_new Instruções SQL como utilizar...
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 375
    Registrado : 17/04/2011

    [Resolvido]Atualização de Estoque via VBA Empty Re: [Resolvido]Atualização de Estoque via VBA

    Mensagem  Walter 30/8/2012, 17:24

    Olá JPaulo. Como seria o código para formulario contínuo? Usei os mesmos nomes de campos e tabelas que estão naquele código.
    Pode me ajudar com alguma sugestão?
    Walter
    Walter
    Walter
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 375
    Registrado : 17/04/2011

    [Resolvido]Atualização de Estoque via VBA Empty Re: [Resolvido]Atualização de Estoque via VBA

    Mensagem  Walter 1/9/2012, 11:24

    Consegui resolver.

    Conteúdo patrocinado


    [Resolvido]Atualização de Estoque via VBA Empty Re: [Resolvido]Atualização de Estoque via VBA

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 8/11/2024, 07:07