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

5 participantes

    Ajuda Baixa Estoque (Fica Negativo)

    avatar
    fabioargenton
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 19/09/2012

    Ajuda Baixa Estoque (Fica Negativo) Empty Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  fabioargenton 20/9/2012, 19:08

    Boa Tarde!

    Sou iniciante em Access, e estou com um desafio criar um sistema simples para estoque contendo apenas entrada e saída, porém a cada saída quero que a quantidade seja baixada no estoque, isso eu consegui porém não consigo fazer a verificação se há qtde disponivel para ser baixada sendo assim o estoque esta ficando negativo.

    Ex: Se há 10 pçs em estoque e lanço 2 vendas de 5 pçs cada beleza zera o estoque, mas se eu entrar com uma nova venda de 2 pçs consigo prosseguir ai quando vou verificar o estoque esta -2 (negativo), gostaria de fazer uma verificação antes se há estoque e caso não haja quero que apareça a mensagem dizendo "Não há saldo disponóvel".

    Vou tentar resumir meu projeto (Teste) aqui pra voces poderem me ajudar:

    São 3 tabelas: tbl_Produtos, tbl_Pedidos, tbl_DetalPedido

    A cada venda na tbl_Pedidos quero baixar o estoque (Qtde) da tbl_Produtos, assim fiz o seguinte código no "Formulário tbl_Pedidos":

    Código:
    Option Compare Database
    Private Sub Comando10_Click()
    DoCmd.SetWarnings False
    DoCmd.RunSQL ("update tbl_Produtos set Estoque=(Estoque-(Formulários![tbl_Pedidos]![Qtde])) where tbl_Produtos.CódProduto=(Formulários![tbl_Pedidos]![CódProduto]);")
    End Sub

    Está funcionando perfeitamente consigo baixar a qtde de estoque conforme qtde informada no Formulário tbl_Pedidos, porém não tem fim mesmo o estoque estando zerado na tbl_Produtos ainda consigo fazer pedidos.

    Por Favor me ajudem.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3662
    Registrado : 21/04/2011

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  Marcelo David 20/9/2012, 20:04

    O valor vai ficando negativo?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ajuda Baixa Estoque (Fica Negativo) Marcel11
    avatar
    fabioargenton
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 19/09/2012

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  fabioargenton 20/9/2012, 20:11

    Sim conforme vou fazendo os pedidos, o saldo em estoque vai subtraindo e ficando negativo.
    Preciso que quando o estoque do ítem que estou fazendo o pedido estiver zero (0) apareça uma menssagem dizendo que não há saldo e impeça que eu realize o pedido.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3662
    Registrado : 21/04/2011

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  Marcelo David 20/9/2012, 20:23

    Este assim no clique do seu botão:

    If DCount("Estoque","tbl_Produtos","[CódProduto]="& Forms![tbl_Pedidos]![CódProduto]) = 0 Then
    msgbox"Este produto está como o estoque zerado!", vbInformation,"Estoque baixo"
    else
    DoCmd.SetWarnings False
    DoCmd.RunSQL ("update tbl_Produtos set Estoque=(Estoque-(Formulários![tbl_Pedidos]![Qtde])) where tbl_Produtos.CódProduto=(Formulários![tbl_Pedidos]![CódProduto]);")
    DoCmd.SetWarnings True 'É aconselhavel ativar os avisos novamente
    end if


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ajuda Baixa Estoque (Fica Negativo) Marcel11
    avatar
    fabioargenton
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 19/09/2012

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  fabioargenton 20/9/2012, 20:58

    Amigão Obrigado pela ajuda não deu erro porém continua deixando o estoque negativo.
    Se quiser dar uma olhada coloquei o arquivo aqui: http://www.4shared.com/zip/fs3VeZru/TesteNoCharge.html
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3662
    Registrado : 21/04/2011

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  Marcelo David 20/9/2012, 21:06

    Vi dois formulários, onde você dá a baixa no estoque?


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ajuda Baixa Estoque (Fica Negativo) Marcel11
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3662
    Registrado : 21/04/2011

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  Marcelo David 20/9/2012, 21:27

    Não sabia que CódProduto era uma CBO.

    Teste este agora:

    If DCount("Estoque", "tbl_Produtos", "[CódProduto]=" & Me.CódProduto.Column(2)) <= 0 Then
    MsgBox "Não há quantidade suficiente em estoque para efetivar este pedido!", vbInformation, "Estoque baixo"
    Else
    DoCmd.SetWarnings False
    DoCmd.RunSQL ("update tbl_Produtos set Estoque=(Estoque-(Formulários![tbl_Pedidos]![Qtde])) where tbl_Produtos.CódProduto=(Formulários![tbl_Pedidos]![CódProduto]);")
    DoCmd.SetWarnings True 'É aconselhavel ativar os avisos novamente
    End If


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ajuda Baixa Estoque (Fica Negativo) Marcel11
    avatar
    fabioargenton
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 19/09/2012

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  fabioargenton 21/9/2012, 12:32

    Amigão testei aqui e ainda não deu certo, agora ele fica aparecendo a msg o tempo todo mesmo tendo saldo em estoque e não realiza a subtração.

    Tentei dar uma fuçada e nada, se ainda poder me ajudar agradeço.
    Marcelo David
    Marcelo David
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3662
    Registrado : 21/04/2011

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  Marcelo David 21/9/2012, 14:03

    Falha nossa... Teste:

    Dim I As Integer
    I = DLookup("Estoque", "tbl_Produtos", "[CódProduto]=" & Me.CódProduto.Column(0))
    If I <= 0 Then
    MsgBox "Não há quantidade suficiente em estoque para efetivar este pedido!", vbInformation, "Estoque baixo"
    Else
    DoCmd.SetWarnings False
    DoCmd.RunSQL ("update tbl_Produtos set Estoque=(Estoque-(Formulários![tbl_Pedidos]![Qtde])) where tbl_Produtos.CódProduto=(Formulários![tbl_Pedidos]![CódProduto]);")
    DoCmd.SetWarnings True 'É aconselhavel ativar os avisos novamente
    End If


    .................................................................................
    Aprenda como criar formulário desacoplado.
    Clique aqui e conheça o treinamento.
    Ajuda Baixa Estoque (Fica Negativo) Marcel11
    avatar
    fabioargenton
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 19/09/2012

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  fabioargenton 21/9/2012, 14:51

    Marcelo, excelente cara (Um dia eu tbm chego lá rsrs)

    Deu certo, apenas um detalhe que precisamos mexer:

    Se eu tenho 5 pçs em estoque e o usuário fizer um pedido de 7 pçs esse código não está dando a mensagem e realiza a subtração do estoque deixando-o negativo, tentei fazer da seguinte maneira e tbm não deu certo:

    Dim I As Integer
    I = DLookup("Estoque", "tbl_Produtos", "[CódProduto]=" & Me.CódProduto.Column(0))
    If I <= 0 Or I - (Formulários![tbl_Pedidos]![Qtde]) < 0 Then
    MsgBox "Não há quantidade suficiente em estoque para efetivar este pedido!", vbInformation, "Estoque baixo"
    Else
    DoCmd.SetWarnings False
    DoCmd.RunSQL ("update tbl_Produtos set Estoque=(Estoque-(Formulários![tbl_Pedidos]![Qtde])) where tbl_Produtos.CódProduto=(Formulários![tbl_Pedidos]![CódProduto]);")
    DoCmd.SetWarnings True 'É aconselhavel ativar os avisos novamente
    End If

    Será que tem esquema de ajeitar isso também?

    Obrigado!
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  JPaulo 21/9/2012, 15:25

    teste;


    Dim I As Integer
    I = DLookup("Estoque", "tbl_Produtos", "[CódProduto]=" & Me.CódProduto.Column(0))
    If I <= 0 Or (I - Me.Qtde.Value) <= 0 Then
    MsgBox "Não há quantidade suficiente em estoque para efetivar este pedido!", vbInformation, "Estoque baixo"
    Exit Sub
    Else
    DoCmd.SetWarnings False
    DoCmd.RunSQL ("update tbl_Produtos set Estoque=(Estoque-(Formulários![tbl_Pedidos]![Qtde])) where tbl_Produtos.CódProduto=(Formulários![tbl_Pedidos]![CódProduto]);")
    DoCmd.SetWarnings True 'É aconselhavel ativar os avisos novamente
    End If




    .................................................................................
    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

    Ajuda Baixa Estoque (Fica Negativo) Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Ajuda Baixa Estoque (Fica Negativo) Folder_announce_new 102 Códigos VBA Gratuitos...
    Ajuda Baixa Estoque (Fica Negativo) Folder_announce_new Instruções SQL como utilizar...
    avatar
    Coutinho88
    Novato
    Novato


    Respeito às regras : Respeito às Regras 100%

    Sexo : Feminino
    Localização : Brasil
    Mensagens : 1
    Registrado : 10/06/2016

    Ajuda Baixa Estoque (Fica Negativo) Empty Este código também serve para VBA Excel?

    Mensagem  Coutinho88 10/6/2016, 21:58

    Me desculpem fugir um pouco ao tema do forum, mas estou finalizando meu primeiro projeto em Excel VBA como um sistema PDV.
    Preciso que na tela de vendas quando eu selecionar o produto e digitar a quantidade, o sistema faça a busca pelo código do produto selecionado e consulte na planilha "Produtos" se há estoque suficiente para realizar a venda, se não, me retornar uma MsgBox dizendo que a venda não pode ser realizada por não haver estoque suficiente.

    Como posso adptar o código acima para Excel?

    Obrigado.
    avatar
    samueldrun
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 68
    Registrado : 22/09/2017

    Ajuda Baixa Estoque (Fica Negativo) Empty ajuda com o estoque

    Mensagem  samueldrun 26/9/2017, 01:59

    Amigos, entrei agora nesse tópico e tentei adaptar o codigo mas tem dado erro de null invalido podem me dar uma ajudinha ?

    Private Sub Salvar_Click()
    Dim I As Integer
    I = DLookup("Estoque", "Tab_Estoque", "[CodProd]=" & Me.Produto.Value)
    If I <= 0 Then
    MsgBox "Não há quantidade suficiente em estoque para efetivar este pedido!", vbInformation, "Estoque baixo"
    Else
    DoCmd.SetWarnings False
    DoCmd.RunSQL "UPDATE Tab_Estoque Set [Tab_Estoque].[Estoque] = [Tab_Estoque].[Estoque]- " & Me.Quantidade & ""
    DoCmd.SetWarnings True 'É aconselhavel ativar os avisos novamente
    End If
    End Sub
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  JPaulo 26/9/2017, 09:10

    Ola;

    Me.Produto.Value é texto ou numerico, é combobox ?

    E no UPDATE falta a condição WHERE [CodProd]=" & Me.Produto.Value


    .................................................................................
    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

    Ajuda Baixa Estoque (Fica Negativo) Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Ajuda Baixa Estoque (Fica Negativo) Folder_announce_new 102 Códigos VBA Gratuitos...
    Ajuda Baixa Estoque (Fica Negativo) Folder_announce_new Instruções SQL como utilizar...
    avatar
    samueldrun
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 68
    Registrado : 22/09/2017

    Ajuda Baixa Estoque (Fica Negativo) Empty Estoque negativo

    Mensagem  samueldrun 26/9/2017, 14:52

    Bom dia JPaulo,

    o campo produto não é uma combox é um valor numérico que se refere ao tipo de produto cadastrado em outra tabela ele é basicamente o código criado automaticamente para cada nova inserção.
    JPaulo
    JPaulo
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

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

    Ajuda Baixa Estoque (Fica Negativo) Empty Re: Ajuda Baixa Estoque (Fica Negativo)

    Mensagem  JPaulo 26/9/2017, 15:12

    Certo, então falat ae a condição Where, senão vai atualizar o estoque de todos os existentes.


    .................................................................................
    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

    Ajuda Baixa Estoque (Fica Negativo) Folder_announce_new Utilize o Sistema de Busca do Fórum...
    Ajuda Baixa Estoque (Fica Negativo) Folder_announce_new 102 Códigos VBA Gratuitos...
    Ajuda Baixa Estoque (Fica Negativo) Folder_announce_new Instruções SQL como utilizar...
    avatar
    samueldrun
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 68
    Registrado : 22/09/2017

    Ajuda Baixa Estoque (Fica Negativo) Empty Estoque negativo

    Mensagem  samueldrun 26/9/2017, 15:15

    Ok vou tentar implementa-lo obrigado

      Data/hora atual: 27/1/2023, 05:54