Access - Evento al desplazarme por los registros de un formulario.

 
Vista:

Evento al desplazarme por los registros de un formulario.

Publicado por Héctor (2 intervenciones) el 14/12/2023 07:34:59
Hola,

Tengo el siguiente código que modifica el color de fondo de un combobox en un formulario Access pero solo funciona si tengo el foco en el propio combobox:

Private Sub ComboBox_Approval_Status_GotFocus()

Select Case Me.ComboBox_Approval_Status.Text

Case "Fully Approved"

Me.ComboBox_Approval_Status.BackColor = vbGreen

Case "Not Approved"

Me.ComboBox_Approval_Status.BackColor = vbRed

Case ""

Me.ComboBox_Approval_Status.BackColor = vbWhite

End Select

End Sub

Lo he probado con otros eventos como after update, etc pero me pasa más o menos lo mismo...

Necesito que el código se ejecute cuando teniendo abierto el formulario 'navego' entre los registros con los controles de avanzar retroceder... propios de Access sin la necesidad de tener el cursor en el combobox.

¿Existe algún evento relacionado con las acciones de los botones propios de Access para moverse entre registros que pudiera utilizar?.

saludos y gracias por anticipado,
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Evento al desplazarme por los registros de un formulario.

Publicado por Anonimo (3316 intervenciones) el 14/12/2023 13:32:33
Si se utiliza la propiedad TEXT, el requerimiento imprescindible es que el objeto tenga el foco, pues esa propiedad es exclusiva del objeto activo.

La alternativa es aplicar en su lugar la propiedad VALUE (o ninguna, ya que se asume por defecto cuando no hay otra)..

El evento que se repite al cambiar de registro es el evento CURRENT del formulario y si se modifica el código (ya sea eliminando la referencia a TEXT o cambiándola a VALUE) se puede reutilizar en ambos eventos (cuando se le cambie el valor en tiempo de ejecución o cuando se cambie de registro).

Particularmente crearía una Subfunción con ese código a la que llamaría en todos los eventos que afectasen al cambio, el 'centralizar' el código (en lugar de repetirlo) permite que una modificación en único lugar (la subfunción) actualice los cambios en todos los eventos en que se utilice.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Evento al desplazarme por los registros de un formulario.

Publicado por Héctor (2 intervenciones) el 14/12/2023 14:01:40
Gracias,

Lo he probado con el evento Current y ahora me funciona perfectamente.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar