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]Editar um registro de uma tabela

    Compartilhe

    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 252
    Registrado : 05/03/2017

    [Resolvido]Editar um registro de uma tabela

    Mensagem  fazerbem em Ter Jun 05, 2018 6:55 am

    OLa, tenho uma TblCad_Produtos, e uma Form A6_Validade_Compras.

    No form A6_Validade_Compras ao ser carregado, uma macro com o comando VBA DLookup, puxo da TblProdutos os campos que quero e sao jogados em FORM A6_Validade_Compras.

    Cada campo de Form A6_Validade_Compras , ao qual serao colocados as inf de tblCad_Produtos, estao inicialmente "Nao ASSOCIADOS a nenhum controle", e ao ser carregado este FOrm, apresentam as inf que solicitei.
    Por exemplo :

    Tenho um campo em FORM 2 campos Validade e outro QNT, Esses foram preenchidos no carregamento do form em questao.
    Agora quero que ao mudar a QNT e a Validade que foram carregados com DLOOKUP, seja alterado os dados em tblCad_Produtos.

    Qual a melhor maneira de fazer isso ?

    Eu tentei no campo validade e QNT em Dados /Fonte de controle deixar como = Validade e =QNT, sendo que o Form esta como Dados /Fonte de controle = "tblCad_Produto" , se eu deixar assim, ao mudar Validade e QNT ele esta gravando em tblCadProduto no primeiro registro e o registro que estou mudando e o registro 10.

    Podem me ajudar ?

    Código:


    Private Sub Form_Load() 'Carrega o Form A6_Validade_Compras

      Me!btFechar.Picture = CurrentProject.Path & "\Botoes\Fechar.bmp"
        Me.TxtCodbarra = Forms![A3_menu].Form.txt_CodBarra.Value
        Me.Btn_Ok.Picture = Application.CurrentProject.Path & "\Imagens\" & "OK" & ".bmp"
        Me.IMProduto.Picture = Application.CurrentProject.Path & "\Fotos\" & Me.TxtCodbarra & ".jpg"

    Dim A1, A2, A3, A4, validade1, Validade2, Validade3, Validade4, QNT1, QNT2, QNT3, QNT4, Geral As Variant

    validade1 = DLookup("Val1", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    Validade2 = DLookup("Val2", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    Validade3 = DLookup("Val3", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    Validade4 = DLookup("Val4", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    QNT1 = DLookup("QNT1", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    QNT2 = DLookup("QNT2", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    QNT3 = DLookup("QNT3", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    QNT4 = DLookup("QNT4", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    Geral = DLookup("EstoqueGeral", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    A1 = DLookup("PrecoCompra", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    A2 = DLookup("Markup", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    A3 = DLookup("MarkupOferta", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")
    A4 = DLookup("lucrobruto", "tblCad_Produto", "codigoBarra='" & Me!TxtCodbarra & "'")

    Me.txtQ1 = 0
    Me.txtQ2 = 0
    Me.txtQ3 = 0
    Me.txtQ4 = 0

    Me.precoCompra = A1
    Me.Markup = A2
    Me.MarkupOferta = A4
    Me.lucroBruto = A6
    Me.Val1 = validade1
    Me.Val2 = Validade2
    Me.Val3 = Validade3
    Me.Val4 = Validade4
    Me.QNT1 = QNT1
    Me.QNT2 = QNT2
    Me.QNT3 = QNT3
    Me.QNT4 = QNT4
    Me.estoqueGeral = Geral


    End Sub

    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Editar um registro de uma tabela

    Mensagem  Celso Roberto em Ter Jun 05, 2018 2:39 pm

    Olá...

    Para alterar dados existentes em tabelas use Update
    ex:

    CurrentDb.Execute "UPDATE tblCad_Produtos SET QNT = '" & Me.QNT & "', Validade = '" & Me.Validade & "' WHERE codigoBarra = '" & Me.codigoBarra & "';"

    Adeque aos nomes dos campos das tabelas e formulários e se é campo tipo texto ou números

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 252
    Registrado : 05/03/2017

    Re: [Resolvido]Editar um registro de uma tabela

    Mensagem  fazerbem em Ter Jun 05, 2018 3:22 pm

    ola grato pela resposta, mas me explica o comando poderia ser ?

    Por exemplo Na minha Tabela CadProduto o IdProduto é o de numeracao Automatica e esta com a chave primaria
    e o CodBarra segue na seuqencia, e pelo codigo de barras que queria achar o item e fazeraalteracao. Ou tenho necessariamente fazer a pesquisa pelo idProduto ?

    Nesse codigo seu , me cloque ao lado o que cada parte faz,

    Grato

    Andre
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Editar um registro de uma tabela

    Mensagem  Celso Roberto em Ter Jun 05, 2018 3:42 pm

    olá...

    A procura pode ser por qualquer campo desde que seja unico, isto é não se repita.

    No seu caso como o idProduto na tabela CadProduto é chave primária ele deve estar também na tblCad_Produtos e o update deve ser pelo código do produto.

    neste caso
    CurrentDb.Execute "UPDATE tblCad_Produtos SET QNT = '" & Me.QNT & "', Validade = '" & Me.Validade & "' WHERE idProduto = " & Me.idProduto & ";"


    O codigo esta mandando atualizar na tabela tblCad_Produtos os campos QNT e Validade de acordo com as alterações efetuadas no formulário onde o idProduto na tabela é igual ao idproduto no formulário

    É isto


    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 252
    Registrado : 05/03/2017

    Re: [Resolvido]Editar um registro de uma tabela

    Mensagem  fazerbem em Ter Jun 05, 2018 4:20 pm

    A procura pode ser por qualquer campo desde que seja unico, isto é não se repita.

    Entao, o meu codigo de barras apesar de nao ser a chave primaria, ele tb aqui é unico, mesmo assim nao poderei me basear por ele e terei que necessariamente me basear pelo Id Produto ?

    Acima entendi que poderia mas depois vc disse que no meu caso teria que ser pelo IdProduto, dai me confundi aqui.

    Grato

    Andre
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Editar um registro de uma tabela

    Mensagem  Celso Roberto em Qua Jun 06, 2018 8:56 am

    olá...

    Desculpe, expliquei mal.

    Eu quis dizer no exemplo, que se quizer atualizar pelo id seria desta maneira.

    Mas a atualização pode sim ser executada por qualquer campo identificador, desde que seja único

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

    fazerbem
    Avançado
    Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 252
    Registrado : 05/03/2017

    Re: [Resolvido]Editar um registro de uma tabela

    Mensagem  fazerbem em Qua Jun 06, 2018 9:13 am

    Grato pela resposta, aproveitando deixei uma outra pergunta em topico diferente, se puder ajudar tb agradeco.

    Andre
    avatar
    Celso Roberto
    Super Avançado
    Super Avançado

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 795
    Registrado : 01/03/2014

    Re: [Resolvido]Editar um registro de uma tabela

    Mensagem  Celso Roberto em Qua Jun 06, 2018 9:35 am

    Olá..

    Obrigado pelo retorno.

    O Fórum agradece...

    Abraços


    .................................................................................
    Quando sua dúvida estiver resolvida, Agradeça ao Fórum e de seu tópico por Resolvido



    A Única coisa que sei é que ainda nada sei, Mas em breve Saberei.....

      Data/hora atual: Sex Out 19, 2018 5:37 am