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]Filtrar um registro na tabela e editá-lo

    Compartilhe

    naiconmartins
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/02/2018

    [Resolvido]Filtrar um registro na tabela e editá-lo

    Mensagem  naiconmartins em Sab 24 Fev 2018, 18:42

    Pessoal, eu criei uma tabela chamada CadastroMateriaisObra onde ficam registrados os materiais e o saldo de estoque. Em seguida, criei um formulário para dar entrada e saída desses materiais no estoque. Até aí tudo bem. Meu problema está na hora de atualizar o registro da tabela. No formulário eu criei uma combobox que filtra o material  e insere o resultado nos demais campos. Porém, eu não estou sabendo criar o evento para salvar esse registro, uma vez que o access precisa:

    1) Abrir a tabela CadastroMateriaisObra;
    2) Filtrar o registro do código do material que foi inserido na combobox; e
    3) Atualizar o saldo deste registro.

    Eu não estou conseguindo filtrar o registro usado pela combobox txtCodigo para atualizá-lo. Já tentei usar Select Case mas mesmo assim ele só atualiza o primeiro registro como se só houvesse ele. Segue abaixo o código até onde consegui fazer:

    Dim db
    Dim rs

    Set db = CurrentDb()
       Set rs = db.OpenRecordset("CadastroMateriaisObra") 'Abre a tabela
     
       rs.Edit 'Edita o registro
           rs("Saldo") = Me.txtSaldo
     
           rs.Update

       rs.Close
       db.Close
    avatar
    Alexandre Neves
    Moderador Global
    Moderador Global

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Portugal
    Mensagens : 6723
    Registrado : 05/11/2009

    Re: [Resolvido]Filtrar um registro na tabela e editá-lo

    Mensagem  Alexandre Neves em Dom 25 Fev 2018, 07:17

    Bom dia e bem-vindo ao fórum
    Código:
    Dim rs as DAO.recordset

      Set rs = CurrentDb.OpenRecordset("SELECT * FROM CadastroMateriaisObra WHERE Codigo=" & txtCodigo ) 'Abre a tabela
     
      rs.Edit 'Edita o registro
          rs("Saldo") = Me.txtSaldo
     
          rs.Update

      rs.Close
      rs=nothing


    .................................................................................
    Access 2010. Mande bd que dê para testar (indique a versão). Não peça para fazer o que já tem feito. Dê todos os detalhes.
    Não coloquem entraves como senhas, esconder controlos, etc. Disponibilizem o mais limpo possível
    Só respondo a mensagens privadas, se forem de assunto privado; às outras não respondo.
    Quem trabalha e mata a fome não come o pão de ninguém; mas quem não trabalha e come, come sempre o pão de alguém. António Aleixo

    naiconmartins
    Novato
    Novato

    Respeito às Regras 100%

    Sexo : Masculino
    Localização : Brasil
    Mensagens : 5
    Registrado : 01/02/2018

    Re: [Resolvido]Filtrar um registro na tabela e editá-lo

    Mensagem  naiconmartins em Seg 26 Fev 2018, 00:10

    Valeu, amigo!

    Eu consegui também usando outro código, porém achei o seu mais prático. Segue o que consegui:

    Dim mdbTAB As Database
    Dim tblTAB As Recordset

    Set mdbTAB = CurrentDb

    Set tblTAB = mdbTAB.OpenRecordset("CadastroMateriaisObra", dbOpenTable) 'Abre a Tabela

    tblTAB.Index = "PrimaryKey" 'Determina o indice

    tblTAB.Seek "=", Me.txtCodigo.Value 'Procura a chave
    If tblTAB.NoMatch Then
    MsgBox "Inexistente..."

    Guarda_D = tblTAB.Fields("Saldo").Value

    tblTAB.Edit 'Edita a tabela

    tblTAB.Fields("Saldo").Value = Me.txtSaldo.Value 'Transfere o saldo

    tblTAB.Update 'Atualiza a Tabela

    End If

    'Agora Atualizando o Estoque

    Set mdbTAB = CurrentDb 'Abre o Banco de Dados Estoque

    Set tblTAB = mdbTAB.OpenRecordset("CadastroMateriaisObra", dbOpenTable) 'Abre a tabela

    tblTAB.Index = "PrimaryKey" 'Determina o indice

    tblTAB.Seek "=", Me.txtCodigo.Value 'Procura a Chave

    tblTAB.Edit 'Edita a Tabela de Dados

    tblTAB.Fields("Saldo").Value = Me.txtSaldo.Value 'Transfere o saldo do estoque para a tabela

    tblTAB.Update 'Atualizando a Tabela

    MsgBox "Estoque atualizado!"

      Data/hora atual: Ter 22 Maio 2018, 12:57