Puede elaborar una función a nivel de módulo y programar los eventos Al recibir el enfoque y Al perder el enfoque, igualmente el evento del formulario Al activar Registro.
FORMULARIO
Observe que estoy en registro 1 como todos los campos tienen información cambia el color de fondo. Ahora voy adicionar el registro 28.
Al ingresar la información en el campo ENTIDAD y perder el foco se cambia el color de fondo, ahora completo la información de los campos BASE y AREA, quedan los campos con el fondo diferente.
CÓDIGO DEL FORMULARIO
Evento Al activar Registro
Private Sub Form_Current()
Call color_campo
End Sub
Código para cada campo que quiera cambiar el color. Ver imagen.
Esto lo debe hacer por cada campo a cambiar color.
CÓDIGO DE LA FUNCIÓN COLOR_CAMPO()
Public Function color_campo()
'Función para cambiar el fondo de campos
'que tengan información
'Elaborada por: EDUARDO PEREZ FERNANEZ
'Fecha: 16/11/2021
'La función se puede llamar desde cualquier formulario
On Error Resume Next
Dim ctl As Control
For Each ctl In Screen.ActiveForm.Controls
With ctl
If (.ControlType = acTextBox Or .ControlType = acComboBox Or _
.ControlType = acOptionGroup) Then
If IsNull(ctl) Or ctl = "" Then
.BackColor = vbWhite
Else
.BackColor = RGB(246, 110, 96)
End If
End If
End With
Next
End Function
Utilizo una función más completa para validar datos tanto en formularios dependientes como independientes, en este caso me valgo de la propiedad TAG del formulario, esto minimiza notablemente e código de validación antes de guardar un registro. Si su caso es para validar puede solicitar un ejemplo a [email protected], favor en el asunto hacer referencia a la consulta.