Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Depois de criar um objeto Recordset do tipo de tabela ou do tipo dynaset, você pode alterar, excluir ou adicionar novos registros. Não é possível alterar, excluir nem adicionar registros em um objeto Recordset do tipo instantâneo ou apenas encaminhamento.
Várias alterações que poderiam ser realizadas em um loop, podem ser executadas de forma mais eficiente com uma consulta atualização ou exclusão usando SQL. O exemplo a seguir cria um objeto QueryDef para atualizar a tabela Funcionários e, em seguida, executa a consulta.
Dim dbsNorthwind As DAO.Database
Dim qdfChangeTitles As DAO.QueryDef
Set dbsNorthwind = CurrentDb
Set qdfChangeTitles = dbsNorthwind.CreateQueryDef("")
qdfChangeTitles.SQL = "UPDATE Employees SET Title = " & _
"'Account Executive' WHERE Title = " & _
"'Sales Representative'"
' Invoke query.
qdfChangeTitles.Execute dbFailOnError
Você pode substituir a cadeia de caracteres SQL inteira por uma consulta parâmetro armazenada e, nesse caso, o procedimento pediria os valores do parâmetro ao usuário. O exemplo a seguir mostra como o exemplo anterior pode ser reescrito como uma consulta de parâmetro armazenada.
Dim dbsNorthwind As DAO.Database
Dim qdfChangeTitles As DAO.QueryDef
Dim strSQLUpdate As String
Dim strOld As String
Dim strNew As String
Set dbsNorthwind = CurrentDb
strSQLUpdate = "PARAMETERS [Old Title] Text, [New Title] Text; " & _
"UPDATE Employees SET Title = [New Title] WHERE " & _
"Title = [Old Title]"
' Create the unstored QueryDef object.
Set qdfChangeTitles = dbsNorthwind.CreateQueryDef("", strSQLUpdate)
' Prompt for old title.
strOld = InputBox("Enter old job title:")
' Prompt for new title.
strNew = InputBox("Enter new job title:")
' Set parameters.
qdfChangeTitles.Parameters("Old Title") = strOld
qdfChangeTitles.Parameters("New Title") = strNew
' Invoke query.
qdfChangeTitles.Execute
Observação
Uma consulta exclusão é muito mais eficiente que o código que faz loop por um Recordset, modificando ou excluindo um registro por vez.
Suporte e comentários
Tem dúvidas ou quer enviar comentários sobre o VBA para Office ou sobre esta documentação? Confira Suporte e comentários sobre o VBA para Office a fim de obter orientação sobre as maneiras pelas quais você pode receber suporte e fornecer comentários.