Modificar un registro existente en un objeto Recordset de DAO

Si lo prefiere, puede modificar registros existentes en un objeto Recordset de tipo tabla o tipo conjunto de registros dinámicos mediante los métodos Edit y Update.

Para modificar un registro existente en un objeto Recordset de tipo tabla o Dynaset:

  1. Vaya al registro que desea modificar.

  2. Utilice el método Edit para preparar el registro actual para su edición.

  3. Realice los cambios necesarios en dicho registro.

  4. Utilice el método Update para guardar los cambios realizados en el registro actual.

En el siguiente ejemplo de código, se muestra cómo cambiar los puestos de todos los representantes de ventas de una tabla denominada “Employees” (Empleados).

Dim dbsNorthwind As DAO.Database 
Dim rstEmployees As DAO.Recordset 
 
   Set dbsNorthwind = CurrentDb 
   Set rstEmployees = dbsNorthwind.OpenRecordset("Employees") 
 
   rstEmployees.MoveFirst 
   Do Until rstEmployees.EOF 
      If rstEmployees!Title = "Sales Representative" Then 
         rstEmployees.Edit 
         rstEmployees!Title = "Account Executive" 
         rstEmployees.Update 
      End If 
      rstEmployees.MoveNext 
   Loop 

Nota:

Si no usa el método Edit antes de intentar cambiar un valor en el registro actual, se produce un error en tiempo de ejecución. Si edita el registro actual y, después, cambia a otro registro o cierra el objeto Recordset sin usar antes el método Update, los cambios se perderán sin advertencia. Por ejemplo, al omitir el método Update del ejemplo anterior, no se realizan cambios en la tabla “Employees” (Empleados).

También puede terminar el método Edit o cualquier transacción pendiente sin guardar los cambios mediante el método CancelUpdate. Aunque puede terminar el método Edit simplemente quitando el registro actual, esto no resulta práctico cuando este es el primer o último registro del objeto Recordset, o bien cuando se trata de un nuevo registro. Por lo general, es más sencillo usar el método CancelUpdate .

Soporte técnico y comentarios

¿Tiene preguntas o comentarios sobre VBA para Office o esta documentación? Vea Soporte técnico y comentarios sobre VBA para Office para obtener ayuda sobre las formas en las que puede recibir soporte técnico y enviar comentarios.