VBA access - Actualizar formulario en tiempo de ejecución

No sé si el titulo se ajusta mucho a mi problema, ..., el caso es que tengo un formulario en access 2010 con un textbox con datos de fecha (que al seleccionarlo por defecto aparece un botón que permite desplegar calendario flotante de access para seleccionar fechas con el ratón). Lo que necesito es que al cambiar/seleccionar una fecha en ese calendario flotante (o lo que seria lo mismo: al cambiar el contenido del textbox en cuestión) el textbox pierda el foco automáticamente y salga del registro que acabo de modificar sitiuandose en un registro nuevo sin necesidad de tener que seleccionarlo haciendo click con el ratón.

1 respuesta

Respuesta
1

Suponiendo que tu textbox se llama txtFecha intenta hacer lo siguiente:

- En el evento "Al recibir el enfoque" de ese textbox escribe el siguiente código:

...

Private Sub...

If Not IsNull(Me.txtFecha.Value) Then
laFecha = Me.txtFecha.Value
End If

End Sub

...

- En el módulo asociado al formulario (es decir, el módulo que se te ha abierto para escribir ese código), bajo la/s línea/s Option, escribe:

...

Private laFecha as date

...

- Y de vuelta al formulario, en el evento "Al cambiar" del textbox, escríbele este otro código:

...

Private Sub...

If Not Me.NewRecord Then 'Si no se está trabajando en un registro nuevo
If Not IsNull(Me.txtFecha.Value) Then
DoCmd.RunCommand acCmdSaveRecord
If Me.txtFecha.Value <> laFecha Then
DoCmd.RunCommand acCmdRecordsGoToNew
End If
End If
End If

End Sub

...

A ver si te sale como querías.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas