Cuenta el número de etiquetas de color verde (RGB 0,255,0) en un formulario.

Tengo un formulario access basado en una consulta, que muestra 10 etiquetas azules (RGB 0,0,255) y que se encienden de color verde con un Backcolor (RGB 0,255,0) cuando se dan unas condiciones. Quisiera que al abrir el formulario, en un cuadro de texto, me contara el número de etiquetas verdes que aparecen en cada registro.

2 Respuestas

Respuesta

Contar colores no es un problema, solo hay que recorrer esos cuadros de texto y consultar esa propiedad, queda por aclarar si en el mismo registro puede haber mas de una etiqueta.

Si tienen que cumplir unas condiciones para tener uno u otro color ¿Por qué no contar los registros que cumplen esas condiciones? ...
El resultado debería ser el mismo y con menos código (la formula/condición ya 'esta creada')

Continuando con los colores, como solo afecta a un determinado grupo de controles (etiquetas) habrá que diferenciarlas del resto (bien numerándolas / bien creando una lista para recorrerlas), una vez que se definan como conjunto será el momento adecuado para verificar sus propiedades individuales.

Respuesta

Lo puede hacer en el evento al cargar del formulario, le dejo este código:

Private Sub Form_Load()
    Dim CuentaVerdesAs Integer
    Dim ctl As Control
    CuentaVerdes= 0
    For Each ctl In Me.Controls
        If ctl.ControlType = acLabel Then
            If ctl.BackColor = RGB(0, 255, 0) Then
                CuentaVerdes= CuentaVerdes+ 1
            End If
        End If
    Next ctl
    Me.cuadrotexto.Value = CuentaVerdes
End Sub

Reemplace cuadrotexto por el nombre se su control.

Era justo lo que estaba buscando. Lo puse " Al cargar formulario", pero no iba. Lo he colocado en "Al Activar Registro", y funciona perfectamente. Cómo siempre, muchas gracias por ceder tu conocimiento de una forma rápida y fácil.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas