MaximoAccess

Caro Usuário, antes de postar pela primeira vez, leia as regras do fórum.

Obrigado

Administração do MaximoAccess

Dicas Ms Access, Exemplos Ms Access, Codigos VBA Ms Access, SQL Ms Access

    [Resolvido]Problema com entrada estoque

    Compartilhe

    thiagonsilvaa
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 166
    Registrado : 12/01/2017

    [Resolvido]Problema com entrada estoque

    Mensagem  thiagonsilvaa em 16/1/2018, 15:45

    Boa tarde !
    Estou tentando adaptar um código disponibilizado aqui no fórum pelo nosso amigo Fabio Paes em um projeto que estou desenvolvendo porém não estou conseguindo.

    Trata-se de entrada de estoque. O código que tentei adaptar seria este:
    Código:
    'Criado por Fabio Paes
    '   Em 25/07/2017

    DoCmd.RunCommand acCmdSaveRecord 'Salvo o Registro antes de começar a selecionar os dados
    Dim DB As Database 'Declaro as variaveis utilizadas no codigo
    Dim rsO, rsD As DAO.Recordset 'Variavel rsO=Fara a consulta dos produtos lançados na NF (Origem)
                                        'rsD=Fara a consulta do produto a ser adicionado o Estoque
                                        'rsD2=Fara a consulta do produto a ser DIMINUIDO a qnt da OC
    Set DB = CurrentDb() 'defino que irei Utilizar o BD atual
    'Realizo a consulta e trago todos os produtos lançados na NF em questão
    Set rsO = DB.OpenRecordset("SELECT * FROM Tbl_Detcompra WHERE idcompra = " & Me.CodCompra & "")
    '----------------------------------------------------------------------------------------------------------------
        Do While Not rsO.EOF 'Repetirei Até que não haja mais registros no rsO
            'Faço a consulta e pego SOMENTE o produto em questão para adidionar o estoque
        Set rsD = DB.OpenRecordset("SELECT * FROM Tbl_PRODUTOS WHERE CodProduto = " & Forms!FormCompra!subCompra!Produto.Column(0) & "")
            'Acrescenta a quantidade de cada produto ao estoque
            rsD.Edit
            rsD!Estoque = rsD!Estoque + rsO!Quantidade
            rsD.Update
            
        rsO.MoveNext 'Movo para proximo registro para Iniciar a Atualização do Novo produto...
        Loop    'Fim da alteração e Inicio da nova repetição para o Novo produto
    '--------------------------------------------------------------------------------------------------------------
    'Fecha as Conexoes abertas
    Set DB = Nothing
    Set rsO = Nothing
    Set rsD = Nothing
    MsgBox "Entrada efetuada com sucesso !", vbInformation, "Entrada"
    Me.Recalc

    Na hora que clico no botão salvar o código acontece porém os resultados não são os esperados.

    Vou postar o bd para facilitar a análise, o formulário envolvido é o "FormCompra".

    Gratidão desde já.
    Anexos
    Projeto.zip
    Você não tem permissão para fazer download dos arquivos anexados.
    (278 Kb) Baixado 13 vez(es)

    thiagonsilvaa
    Intermediário
    Intermediário

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 166
    Registrado : 12/01/2017

    Problema com entrada estoque

    Mensagem  thiagonsilvaa em 16/1/2018, 16:35

    Boa tarde.

    Venho informar que consegui resolver meu problema.

    Apenas criei uma relação entre a coluna "idproduto" da tbl_detcompra com o campo idproduto(chave primária) vindo da tabela "tbl_produtos", assim atualizando conforme o codigo do produto.

    Segue o código:
    Código:
    'Criado por Fabio Paes
    '  Em 25/07/2017

    DoCmd.RunCommand acCmdSaveRecord 'Salvo o Registro antes de começar a selecionar os dados
    Dim DB As Database 'Declaro as variaveis utilizadas no codigo
    Dim rsO, rsD As DAO.Recordset 'Variavel rsO=Fara a consulta dos produtos lançados na NF (Origem)
                                        'rsD=Fara a consulta do produto a ser adicionado o Estoque
                                        'rsD2=Fara a consulta do produto a ser DIMINUIDO a qnt da OC
    Set DB = CurrentDb() 'defino que irei Utilizar o BD atual
    'Realizo a consulta e trago todos os produtos lançados na NF em questão
    Set rsO = DB.OpenRecordset("SELECT * FROM Tbl_Detcompra WHERE idcompra = " & Me.CodCompra & "")
    '----------------------------------------------------------------------------------------------------------------
        Do While Not rsO.EOF 'Repetirei Até que não haja mais registros no rsO
            'Faço a consulta e pego SOMENTE o produto em questão para adidionar o estoque
        Set rsD = DB.OpenRecordset("SELECT * FROM tbl_PRODUTOS WHERE CodProduto = " & rsO!idproduto & "")
            'Acrescenta a quantidade de cada produto ao estoque
            rsD.Edit
            rsD!Estoque = rsD!Estoque + rsO!Quantidade
            rsD.Update
           
        rsO.MoveNext 'Movo para proximo registro para Iniciar a Atualização do Novo produto...
        Loop    'Fim da alteração e Inicio da nova repetição para o Novo produto
    '--------------------------------------------------------------------------------------------------------------
    'Fecha as Conexoes abertas
    Set DB = Nothing
    Set rsO = Nothing
    Set rsD = Nothing
    MsgBox "Entrada efetuada com sucesso !", vbInformation, "Entrada"
    Me.Recalc

    Gratidão.
    Tópico resolvido

      Data/hora atual: 22/9/2018, 16:24