Bien, Paso a explicar. Son formularios continuos donde los registros tienen dos condiciones: "En Uso" e "Inactivo" (son datos comerciales de cuentas, billeteras, etc), y a veces se juntan una cantidad de datos considerable (por ejemplo de un mismo negocio pero diferente sucursal, encargado, etc). Eso sin problemas con el formato condicional.
Ahora, en alguna oportunidad hubo alguna confusión al elegir el registro y copiar algún dato (ejemplo se copiaba un dato de una línea y se confundió con los datos de la línea de abajo), entonces para solucionar eso volvemos a la pregunta principal del tema que es " Colorear cuadro de texto en registro activo" lo cual hago por el momento de esta manera con este código que rescate de algún ejemplo (del búho o Marta sino me equivoco) con esta función:
' Seleccionar filas
' Selecciona todas las filas en las que el contenido del campo
' sobre el que se ha hecho Click sean iguales
Function SeleccionaFila()
Dim ctlCurrentControl As Control
Dim strControlName As String
' detectamos el campo sobre el que se ha hecho Click
Set ctlCurrentControl = Screen.ActiveControl
' se asigna el valor del campo al campo oculto
CampoOculto = ctlCurrentControl.Value
' con ctlCurrentControl.Name podemos saber
' el nombre del control sobre el que se ha hecho Click
' y se cambia la expresion del formato condicional
' del campo oculto para que represente el campo y el valor actual
Me.CampoOculto.FormatConditions.Item(0).Modify acExpression, , "[" & ctlCurrentControl.Name & "]=[CampoOculto]"
End Function
Poniendo en el evento al hacer click de los controles el llamado de la Función.
Y funciona bien, queda marcado en rojo los datos INACTIVOS y cuando selecciono un registro (hago click en un control) me selecciona el cuadro oculto, lo colorea, dando ese efecto de seccionar la fila.
Pero al control en el cual hago el click lo deja con fondo blanco
En la imagen se muestra con dos registros, pero si hubiera tres o más, estarían los Inactivos en rojo, el Seleccionado en Celeste y los demás en Blanco... funciona bien... el único detallito es al hacer el click queda blanco cualquier control en el que lo haga.
Intente también ponerle formato condicional al tener el foco, pero no funciona muy bien, a veces el rojo se vuelve azul.
Supongo chocaran entre Formatos condicional.
¿Y me preguntara porque no saco los que están inactivos? Seria una opción pero tendría que ponerle un "control de duplicado" para cuando se ingrese un nuevo dato (seguramente lo haré). Aparte quiero aplicar esto a otros formularios de otras clases de datos, por ejemplo códigos de barra de mercaderías donde se repiten bastante un mismo código para dos artículos distintos.
Esa función sirve muy bien para simular selección de registro.