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]Acerto de Estoque

    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]Acerto de Estoque Empty Acerto de Estoque

    Mensagem  sergiocfba 28/3/2012, 03:40

    Ola amigos tenho um pequeno problema na atualização do meu estoque quando atualizo uma quantidade ele dar baixa normalmente, mas quando apago a quantidade ele zera o estoque.
    Helpe me !!!


    Private Sub Quantidade_AfterUpdate()
    Dim cnn As New ADODB.Connection
    Dim rs1 As ADODB.Recordset
    Set cnn = CurrentProject.Connection
    Set rs1 = New ADODB.Recordset
    rs1.CursorType = adOpenKeyset
    rs1.LockType = adLockOptimistic
    rs1.Open "TAB_ESTOQUE", cnn, , , adCmdTable
    rs1.Find "Codigo=" & Me.CodigoCA, 0, adSearchForward, 1
    If Not rs1.EOF Then
    rs1("EstoqueAtual") = rs1("EstoqueAtual") - Me.Quantidade)' aqui atualiza o estoque
    rs1.Update
    End If
    rs1.Close
    cnn.Close
    Set cnn = Nothing
    Set rs1 = Nothing

    End Sub

    desde ja agradeço.


    Última edição por sergiocfba em 28/3/2012, 04:53, editado 1 vez(es)
    avatar
    Convidad
    Convidado


    [Resolvido]Acerto de Estoque Empty Re: [Resolvido]Acerto de Estoque

    Mensagem  Convidad 28/3/2012, 03:54


    Tente:

    rs1("EstoqueAtual") = rs1("EstoqueAtual") - Nz(Me.Quantidade) 'nesse ponto ocorre a atualização
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]Acerto de Estoque Empty Acerto de Estoque

    Mensagem  sergiocfba 28/3/2012, 05:24

    Valeu cara resolveu sim obrigado...
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]Acerto de Estoque Empty Acerto de Estoque

    Mensagem  sergiocfba 28/3/2012, 05:31

    resolveu o problema de zerar o estoque valeu mesmo. tem como eu repor a quantidade apagada
    e vi outro probleminha: se tem 10 eu libero 2 estoque 8 certo mas se volto e altero pra 4 a quantidade ele joga pra 4 estoque... e agora...
    avatar
    Convidad
    Convidado


    [Resolvido]Acerto de Estoque Empty Re: [Resolvido]Acerto de Estoque

    Mensagem  Convidad 28/3/2012, 05:38


    Bom que resolveu!

    Quanto a esta nova questão, teria que conhecer mais detalhes sobre a estrutura do seu aplicativo, no sentido de como são feitas as entradas e baixas.

    Explique um pouco melhor o que ocorre.

    Em princípio, parece ser um problema de atualização.
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]Acerto de Estoque Empty Acerto de Estoque

    Mensagem  sergiocfba 28/3/2012, 05:46

    é um controle de rouparia, onde a tabela principal ai é a TAB_ESTOQUE, associada a Tab_movimentação onde guarda as informaçoes de movimentos com quantidade, cadastro de funcionarios nomes.
    Descrição de epi com codigo e quantidades
    O form de Movimentação faz a conecção do banco funcionario Epi. cada vez que o cara pega um item e atribuido ao cadastro dele que é a chave primaria e armazenado na tabela movi...
    O problema é que acontece do cara pegar um Uniforme dar entrada no sistema ele vai provar o uniforme volta pra trocar e nao to conseguindo alinhar isso.
    avatar
    JOSEMORAES
    Avançado
    Avançado


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 220
    Registrado : 23/02/2011

    [Resolvido]Acerto de Estoque Empty Re: [Resolvido]Acerto de Estoque

    Mensagem  JOSEMORAES 28/3/2012, 12:21

    Ola Sergio, apenas uma sugestão.

    Melhore seu codido da baixa usando algo assim.


    On Error Resume Next
    '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.TxtSaida) Or Me.TxtSaida = 0 Then
    MsgBox "Informe a quantidade de vendida no estoque!", vbCritical + vbOKOnly, "Atenção!"
    Me.TxtSaida.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
    Dim rs2 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 "TblProduto", cnn, , , adCmdTable
    'Procura e compara código do produto entre as tabelas Produtos e a tabela de itens.
    rs1.Find "Produto_Nome=" & Me.TxtNome, 0, adSearchForward, 1
    If Not rs1.EOF Then
    'Diminui a quantidade de itens que saiu naquele momento ao estoque. (Compra)
    rs1("Produto_Estoque") = rs1("Produto_Estoque") - Me.TxtSaida
    rs2("Produto_Valor") = Me.TxtValor
    'Verifica se o estoque é menor do que 0 (zero)
    If rs1("Produto_Estoque") < 0 Then
    'Se for, emite mensagem ao usuário
    MsgBox "Quantidade não disponível. Saldo atual em estoque de " & rs1("Produto_Estoque") + Me.TxtSaida & " produtos", vbCritical, "Atenção!"
    Cancel = True
    Me.TxtSaida = Null
    Me.TxtSaida.SetFocus
    Else
    'Verifica se o estoque atual é menor do que o estoque mímino
    If rs1("Produto_Estoque") < rs1("Produto_Nivel") 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("Produto_Nivel") - rs1("Estoque") & " produtos(s)", vbExclamation, "Atenção!"
    'Atualiza a tabela de estoques
    Cancel = True
    Me.TxtSaida = Null
    Me.TxtSaida.SetFocus
    Else
    rs1.Update
    'Emite uma mensagem informando a quantidade atual no estoque.
    MsgBox "Quantidade atual disponível de " & rs1("Produto_Estoque") & " produtos", vbExclamation, "Atenção!"
    Me.TxtSaida = Null
    Me.TxtSaida.SetFocus
    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 Sub



    é apenas uma sugestão ok.

    O codigo pergunta se deseja atualizar o estoque,lhe da a quantidade apos a atualização e tambem inibe caso ele ultrapasse o nivel desejado de estoque.

    Obrigado


    .................................................................................
    [Resolvido]Acerto de Estoque 10715412
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]Acerto de Estoque Empty Acerto de Estoque

    Mensagem  sergiocfba 28/3/2012, 16:16

    Obrigado amigo eu vou tentar dessa forma...
    depois eu retorno o se funfou ou nao.
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]Acerto de Estoque Empty Acerto de Estoque

    Mensagem  sergiocfba 29/3/2012, 03:50

    Meu caro nao deu certo...
    Ele nao baixa o estoque como preciso e nem deixa o historico de movimentação que se faz necessario


    Private Sub Quantidade_AfterUpdate()
    On Error Resume Next
    '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.Quantidade) Or Me.Quantidade = 0 Then
    MsgBox "Informe a quantidade de Saida no estoque!", vbCritical + vbOKOnly, "Atenção!"
    Me.Quantidade.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
    Dim rs2 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 TAB_ESTOQUE
    rs1.Open "TAB_ESTOQUE", cnn, , , adCmdTable
    'Procura e compara código do produto entre as tabelas Produtos e a tabela de itens.
    rs1.Find "Descrição=" & Me.Descrição, 0, adSearchForward, 1
    If Not rs1.EOF Then
    'Diminui a quantidade de itens que saiu naquele momento ao estoque. (Compra)
    rs1("EstoqueAtual") = rs1("EstoqueAtual") - Nz(Me.Quantidade)
    'rs2("Produto_Valor") = Me.TxtValor
    'Verifica se o estoque é menor do que 0 (zero)
    If rs1("EstoqueAtual") < 0 Then
    'Se for, emite mensagem ao usuário
    MsgBox "Quantidade não disponível. Saldo atual em estoque de " & rs1("EstoqueAtual") + Nz(Me.Quantidade) & " ITENS", vbCritical, "Atenção!"
    'Cancel = True
    Me.Quantidade = Null
    Me.Quantidade.SetFocus
    Else
    'Verifica se o estoque atual é menor do que o estoque mímino
    If rs1("EstoqueAtual") < rs1("Produto_Nivel") 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("EstoqueMinimo") - rs1("EstoqueAtual") & " ITENS(s)", vbExclamation, "Atenção!"
    'Atualiza a tabela de estoques
    'Cancel = True
    Me.Quantidade = Null
    Me.Quantidade.SetFocus
    Else
    rs1.Update
    'Emite uma mensagem informando a quantidade atual no estoque.
    MsgBox "Quantidade atual disponível de " & rs1("EstoqueAtual") & " ITENS", vbExclamation, "Atenção!"
    Me.Quantidade = Null
    Me.Quantidade.SetFocus
    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 Sub


    Trabalho com duas tabelas "Tab_Controle_individual" e "Tab_ESTOQUE" que estao associadas
    preciso que ao dar entrada retire do estoque e registre na movimentação na desistencia limpe a movimentação e devolva ao estoque...
    help me!!!
    avatar
    Convidad
    Convidado


    [Resolvido]Acerto de Estoque Empty Re: [Resolvido]Acerto de Estoque

    Mensagem  Convidad 31/3/2012, 13:16


    Penso que deva trabalhar com a movimentação com um formulário de entrada e outro de saída, cada um baseado numa tabela distinta.
    E criar os formulários correspondentes para lançamento.

    Então pode criar uma consulta onde entrariam três tabelas: Produtos | Entradas | Saídas.
    Estas tabelas devem estar relacionadas pelo campo chave-primária da tabela Produtos:
    Produtos.IdProduto (UM) ---- Entradas.IdProdutoEntrada (MUITOS)
    Produtos.IdProduto (UM) ---- Saídas.IdProdutoSaída (MUITOS)

    Nesta consulta os campos seriam: Produto.IdProduto | Entradas.EntradaQuantidade | Saídas.SaídaQuantidade
    Use o AgruparPor e nos campos Quantidade escolha Soma.

    Crie outra consulta baseada nesta, com os campos IdProduto | SomaDeEntradaQuantidade | SomaDeSaídaQuantidade
    Acrescente um campo calculado EstoqueProduto:[SomaDeEntradaQuantidade] - [SomaDeSaídaQuantidade]

    Esta consulta é o estoque atual por produto. Pode criar formulários e relatórios baseados nela.

    Não precisa de uma tabela!
    sergiocfba
    sergiocfba
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 55
    Registrado : 01/02/2012

    [Resolvido]Acerto de Estoque Empty Acerto de Estoque

    Mensagem  sergiocfba 1/4/2012, 11:28

    Obrigado pela contribuição pessoal.
    Consegui cheers
    Coloquei o codigo da seguinte forma:

    Private Sub Comando66_Click()
    Dim cnn As New ADODB.Connection
    Dim rs1 As ADODB.Recordset
    Set cnn = CurrentProject.Connection
    Set rs1 = New ADODB.Recordset
    rs1.CursorType = adOpenKeyset
    rs1.LockType = adLockOptimistic
    rs1.Open "TAB_ESTOQUE", cnn, , , adCmdTable
    rs1.Find "Codigo=" & Me.CodigoCA, 0, adSearchForward, 0
    If Not rs1.EOF Then
    rs1("EstoqueAtual") = rs1("EstoqueAtual") + Nz(Me.Quantidade)
    rs1.Update
    End If
    rs1.Close
    cnn.Close
    Set cnn = Nothing
    Set rs1 = Nothing
    Dim apaga As Integer
    Dim msg
    On Error GoTo Err_Comando66_Click
    DoCmd.SetWarnings False

    apaga = MsgBox("Deseja excluir este ítem? Depois de excluir não será possível desfazer a acção !!!", vbYesNo + vbQuestion, "Excluir")
    Select Case apaga
    Case vbYes

    DoCmd.RunSQL "UPDATE Tab_ESTOQUE SET Tab_ESTOQUE.EstoqueAtual = [EstoqueAtual]+[forms]![Form_Movimentação]![Quantidade]WHERE (((Tab_ESTOQUE.Codigo)=[forms]![Form_Movimentação]![Descrição]));"
    MsgBox "Retornou " & Me.Quantidade & " Ítem para o stock!", vbInformation + vbOKOnly, "Informação!"

    DoCmd.RunCommand acCmdDeleteRecord
    Case vbNo
    End Select
    Me.Refresh

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

    End Sub
    Dessa forma ele devolve ao estoque, limpa a base e me avisa quanto foi devolvido.
    No botao "Comando66" eu atribui no evento ao clicar somar a quantidade ao estoque atual.

    valeu um abraço.
    avatar
    Convidad
    Convidado


    [Resolvido]Acerto de Estoque Empty Re: [Resolvido]Acerto de Estoque

    Mensagem  Convidad 1/4/2012, 12:04


    O fórum agradece o retorno!

    Conteúdo patrocinado


    [Resolvido]Acerto de Estoque Empty Re: [Resolvido]Acerto de Estoque

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 9/5/2024, 09:28