Cambio de color en registros de un formulario

Quiero saber como puedo cambiar de color en los registros de un formulario, dependiendo de la casilla de verificación que tenga seleccionada, estoy intentado con :

Private Sub AUTORIZADO_Click()
If Me.AUTORIZADO = True Then
Me.Section(acDetail).BackColor = 255255
Else
Me.Section(acDetail).BackColor = 10000
End If

End Sub

Pero me cambia de color todo el fondo del formulario, gracias.

1 respuesta

Respuesta
1

Lo que te ocurre es normal, porque solo hay una sección detalle en el formulario, y en tu caso se repite tantas veces como registros se te muestran en el formulario (al ser un formulario continuo), pero se trata siempre del mismo "Detalle".

Hay un truquillo que puedes usar con buenos resultados y es el siguiente:

1º/ Añades un cuadro de texto, sin etiqueta, que ocupe todo el ancho y alto de la sección detalle.

2º/ Lo envías al fondo (propiedades->ubicación->enviar al fondo)

3º/ Sacas sus propiedades y vas a Formato condicional:

-> En formato predeterminado pones el color de fondo que quieres, por ejemplo, cuando no esté activada la casilla.

-> En Condición 1 seleccionas "La expresión es" y en la casilla de la derecha pones: [AUTORIZADO]<>0 y seleccionas el color que deseas para cuando está marcada.

Aceptas y listo! Solo te queda ajustar bien el cuadro de texto de "fondo" para que no se pueda seleccionar por error, o programarle el evento "Al recibir el enfoque" para que pase el foco a otro cuadro de texto.

Un saludo


Muchas gracias, ha sido de gran ayuda, no te comprendo "programarle el evento al recibir enfoque", la verdad soy nuevo en esto y no manejo mucho código, me gustaría que al darle click en el cuadro de texto no lo seleccione  ya que este cubre el registro.

Gracias.

A eso me refería con lo de programarle el evento, jejejeje. Sigue estos pasos:

1º/ Abre tu formulario en vista diseño

2º/ Selecciona el cuadro de texto que se colorea y haz click con el botón derecho encima de él.

3º/ Vete a "Propiedades" en el menú que te aparece

4º/ Ahora vete a la pestaña "Eventos"

5º/ Localiza la fila "Al recibir el enfoque" y ponte en ella. Verás a la derecha un botón con 3 puntos. Púlsalo.

6º/Elige "generador de código" y pulsa "Aceptar"

7º/ Entrarás en el editor de Visual Basic, y te aparecerá algo como:

Private Sub Texto12_GotFocus()
End Sub

Donde Texto12 será el nombre de tu cuadro de texto

8º/ Entre esas dos lineas, escribe:

Me. Id. SetFocus

9º/ Cierra todo guardando los cambios y listo.

Nota: Si quieres poner el foco en otro campo, cambia el Me. Id. SetFocus por Me.NombreOtroCampo. SetFocus

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas