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]Como resgatar saldo de estoque?

    avatar
    IuriEmanuel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 23/08/2018

    [Resolvido]Como resgatar saldo de estoque? Empty [Resolvido]Como resgatar saldo de estoque?

    Mensagem  IuriEmanuel 3/10/2018, 14:13

    Olá meus amigos, estou criando um sistema e preciso saber qual modelo correto de saber o estoque do produto. Já tentei criar uma consulta, agrupando por total e deu certo, já utilizei o DSoma e também deu certo. Mas imagino que esta não seja a forma correta, pois utilizaria muito processamento e o sistema deve rodar em rede. Como será que os grandes ERPs profissionais somam? Será que é na base do DSoma (SELECT) também?
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Como resgatar saldo de estoque? Empty Re: [Resolvido]Como resgatar saldo de estoque?

    Mensagem  DamascenoJr. 3/10/2018, 17:57

    A maioria tem uma tabela de estoque pronta ao invés de somar toda entrada e subtrair a soma de todas as saídas de todos os produtos.

    Ex1: se cadastrar um produto na tabela produtos, também será cadastrado este produto na tabela estoque com a quantidade 0.
    Ex2: se lançar a entrada do produto na tabela entradas, também a quantidade deste produto será alterada na tabela estoque.
    Ex3: se lançar a saído do produto na tabela saídas, também a quantidade deste produto será alterada na tabela estoque.
    Ex4: se excluir um produto na tabela produtos, também será excluído este produto na tabela estoque.

    Tudo feito com triggers (equivalente as macro de dados no ms access) diretamente na base de dados.

    Um pouco sobre do uso de triggers para estoque tem neste link >> https://www.devmedia.com.br/implementando-controle-de-estoque-no-mysql-com-triggers-e-procedures/26352)
    avatar
    IuriEmanuel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 23/08/2018

    [Resolvido]Como resgatar saldo de estoque? Empty Re: [Resolvido]Como resgatar saldo de estoque?

    Mensagem  IuriEmanuel 4/10/2018, 00:26

    Interessante! Daria o mesmo resultado se eu fizesse do modo abaixo também, não é?

    Por exemplo, eu tenho uma rotina que movimenta a tabela "ProdutoMovimento". Eu posso criar, um campo na minha tabela produto chamado "Estoque" e, daí, dentro da própria rotina, fazer algo tipo.

    Public Sub MovProduto (ProdID, Quantidade, Descricao)

    Alem da query para inserir registro na movimentação

     Dim nEstoque As String

     Estoque = DLookup ("Estoque",tblMovProduto,"ProdID =" & ProdID) ' Usar o DLookup uma vez que a função retornaria apenas um registro mesmo, não há necessidade de linhas de código para criar um Recordset.

     DoCmd.RunSQL "UPDATE " & tblMovProduto & " SET Estoque = nEstoque  WHERE ProdID = " & ProdID & ""

    End Sub

    Estou correto? Teria também a função de ao excluir uma venda por exemplo, utilizar a mesma linha de raciocínio para debitar o estoque, uma vez que não haveria registros ou "gatilho" para excluir-los também.
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Como resgatar saldo de estoque? Empty Re: [Resolvido]Como resgatar saldo de estoque?

    Mensagem  DamascenoJr. 4/10/2018, 04:15

    Nem é preciso usar o DLookup para descobrir a quantidade atual na tabela para só depois fazer a operação, já pode colocar direto na SQL mesmo.

    Código:
    Public Sub MovProduto (ProdID, Quantidade, Tipo)

    'alem da query para inserir registro na movimentação

    'tipo 1 é entrada
    'tipo 2 é saída

    DoCmd.RunSQL "UPDATE tblMovProduto SET Estoque = Estoque " & iif(Tipo=1," + "," - ") & Quantidade & " WHERE ProdID = " & ProdID

    End Sub
    avatar
    IuriEmanuel
    Intermediário
    Intermediário


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 69
    Registrado : 23/08/2018

    [Resolvido]Como resgatar saldo de estoque? Empty Re: [Resolvido]Como resgatar saldo de estoque?

    Mensagem  IuriEmanuel 9/10/2018, 11:28

    Muito Obrigado, Ivan!!
    Esta sua sugestão e também a dica de usar o proprio campo para atualizar o Update me ajudou não apenas nesta parte do projeto mas reduziu muito o meu código que usa o mesmo método para outras atividades.

    Obrigado!!
    DamascenoJr.
    DamascenoJr.
    Moderador
    Moderador


    Respeito às regras : Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 3845
    Registrado : 22/11/2016

    [Resolvido]Como resgatar saldo de estoque? Empty Re: [Resolvido]Como resgatar saldo de estoque?

    Mensagem  DamascenoJr. 18/10/2018, 18:31


    Conteúdo patrocinado


    [Resolvido]Como resgatar saldo de estoque? Empty Re: [Resolvido]Como resgatar saldo de estoque?

    Mensagem  Conteúdo patrocinado


      Data/hora atual: 26/4/2024, 18:29