Boa noite ou bom dia!
O código abaixo atualiza a tabela através de um formulário desvinculado:
Set db = CurrentDb()
Set Rs = db.OpenRecordset("Select * from Tbl_MinhaTabela Where Campo1DaMinhaTabela= " & Me.Campo1DoFormulario & " AND Campo2DaMinhaTabela= '" & Me.Campo2DoFormulario & "'")
Rs.Edit
Rs("Campo1DaMinhaTabela") = Campo1DoFormulario
Rs("Campo2DaMinhaTabela") = Campo2DoFormulario
Rs.Update
db.Close
Set db = Nothing
Set Rs = Nothing
Eu tenho duas perguntas:
1. Há como simplificar o código acima, já que meu formulário desvinculado possui 33 campos?
2. O botão salvar desse formulário desvinculado faz duas coisas: se clicado salva o registro, se clicado novamente atualiza o registro. Estou usando este código abaixo, o botão salva mas quando se clica novamente ele não atualiza o registro, já fiz a depuração total e não aparece nenhum erro:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Tbl_MinhaTabela")
If (IsNull(DLookup("[IDdaTabela]", "Tbl_MinhaTabela", "[IDdaTabela] = " & Me!IDdoForm))) Then
rs.AddNew
rs("Campo1DaMinhaTabela") = Campo1DoFormulario
rs("Campo2DaMinhaTabela") = Campo2DoFormulario
rs.Update
db.Close
Set db = Nothing
Set rs = Nothing
Beep
MsgBox "REGISTRO SALVO COM SUCESSO!", vbInformation, "::: AVISO :::"
Else
Set db = CurrentDb()
Set rs = db.OpenRecordset("Select * from Tbl_MinhaTabela Where Campo1DaMinhaTabela= " & Me.Campo1DoFormulario & " AND Campo2DaMinhaTabela= '" & Me.Campo2DoFormulario & "'")
rs.Edit
rs("Campo1DaMinhaTabela") = Campo1DoFormulario
rs("Campo2DaMinhaTabela") = Campo2DoFormulario
rs.Update
db.Close
Set db = Nothing
Set rs = Nothing
MsgBox "REGISTRO ATUALIZADO COM SUCESSO!", vbInformation, "::: AVISO :::"
End If
Nota: o campo1 da tabela e do form é numérico e o campo 2 da tabela e do form é texto.
O código abaixo atualiza a tabela através de um formulário desvinculado:
Set db = CurrentDb()
Set Rs = db.OpenRecordset("Select * from Tbl_MinhaTabela Where Campo1DaMinhaTabela= " & Me.Campo1DoFormulario & " AND Campo2DaMinhaTabela= '" & Me.Campo2DoFormulario & "'")
Rs.Edit
Rs("Campo1DaMinhaTabela") = Campo1DoFormulario
Rs("Campo2DaMinhaTabela") = Campo2DoFormulario
Rs.Update
db.Close
Set db = Nothing
Set Rs = Nothing
Eu tenho duas perguntas:
1. Há como simplificar o código acima, já que meu formulário desvinculado possui 33 campos?
2. O botão salvar desse formulário desvinculado faz duas coisas: se clicado salva o registro, se clicado novamente atualiza o registro. Estou usando este código abaixo, o botão salva mas quando se clica novamente ele não atualiza o registro, já fiz a depuração total e não aparece nenhum erro:
Dim db As DAO.Database
Dim rs As DAO.Recordset
Set db = CurrentDb()
Set rs = db.OpenRecordset("Tbl_MinhaTabela")
If (IsNull(DLookup("[IDdaTabela]", "Tbl_MinhaTabela", "[IDdaTabela] = " & Me!IDdoForm))) Then
rs.AddNew
rs("Campo1DaMinhaTabela") = Campo1DoFormulario
rs("Campo2DaMinhaTabela") = Campo2DoFormulario
rs.Update
db.Close
Set db = Nothing
Set rs = Nothing
Beep
MsgBox "REGISTRO SALVO COM SUCESSO!", vbInformation, "::: AVISO :::"
Else
Set db = CurrentDb()
Set rs = db.OpenRecordset("Select * from Tbl_MinhaTabela Where Campo1DaMinhaTabela= " & Me.Campo1DoFormulario & " AND Campo2DaMinhaTabela= '" & Me.Campo2DoFormulario & "'")
rs.Edit
rs("Campo1DaMinhaTabela") = Campo1DoFormulario
rs("Campo2DaMinhaTabela") = Campo2DoFormulario
rs.Update
db.Close
Set db = Nothing
Set rs = Nothing
MsgBox "REGISTRO ATUALIZADO COM SUCESSO!", vbInformation, "::: AVISO :::"
End If
Nota: o campo1 da tabela e do form é numérico e o campo 2 da tabela e do form é texto.