Cambiar el color de un campo cuando tenga datos

Me gustaría saber como puedo hacer que los campos que tengan algún dato cambie su color... Y que los campos que no tengan ningún datos sigan con su color original.

2 Respuestas

Respuesta
1

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.

Respuesta
1

¿Por qué no usar lo que Access te ofrece e infinitamente más sencillo?. En vista diseño del formulario selecciona todos los controles que quieres que cambien de color

Con lo que te quedaría directamente

Y en un registro nuevo, a medida que vas llenando datos

Puedes ver que en este momento está en NombreContacto, que todavía está vacío y por eso está en blanco.

Si pero cuando los campos son desplegables no lo hace, ya que esos campos pertenecen a otro formulario. Como puedo realizar entonces. Gracias

Chico, siento no haberte contestado, pero esta página ya no avisa de las "repreguntas"

Lo mismo que tu dices "Mi casa, mis normas" el creador del control ActiveX cuadro combinado dijo lo mismo " mi control, o lo aceptas como es o te jo..."

Se puede simular un combinado con colores, por ejemplo

Pero no deja de ser una simulación.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas