MS Access 2003: actualice el campo de fecha usando el código VBA

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MS Access 2003: actualice el campo de fecha usando el código VBA

Este tutorial de MSAccess muestra cómo usar código VBA para actualizar un campo de fecha en Access 2003 (con instrucciones paso a paso).

Pregunta: En Microsoft Access 2003/XP/2000/97, tengo una base de datos con un campo de fecha llamado TransactionDate. Quiero poder consultar al usuario la nueva fecha y luego actualizar el campo TransactionDate según lo que el usuario haya ingresado.

R: Puede usar una función personalizada para actualizar su campo de fecha.

Abra su base de datos de Access, haga clic en la pestaña Módulos y cree un nuevo módulo. Pegue el siguiente código:

Function UpdateTransactionDate() As Boolean

   Dim db As Database
   Dim LUpdate As String
   Dim LMsg As String
   Dim LTransactionDt As Date

   On Error GoTo Err_Execute

   'Query user for Date of R
   LMsg = "Enter the Date of R Form __/__/____"
   LMsg = LMsg & Chr(10) & Chr(10) & "Format date as: mm/dd/yyyy"

   LTransactionDt = InputBox(LMsg)

   Set db = CurrentDb()

   'Re-Assign Date to TransactionDate
   LUpdate = "update [ChapterFormBulkInputTable]"
   LUpdate = LUpdate & " set [TransactionDate] = #" & Format(LTransactionDt, "mm/dd/yyyy") & "#"

   db.Execute LUpdate, dbFailOnError

   Set db = Nothing

   MsgBox "Changing the Dates was Successful."
   UpdateTransactionDate = True

   On Error GoTo 0

   Exit Function

Err_Execute:
   MsgBox "Updating the dates failed, you will need to enter each date individually."
   UpdateTransactionDate = False

End Function

Luego puede llamar a la función desde un formulario (es decir, evento de clic de botón, etc.) o macro y actualizará el campo TransactionDate.

Si después de probar este ejemplo obtiene un error “indefinido” en la declaración “Dim db as Database”, debe seguir algunas instrucciones adicionales.