Access - Cajas de texto

 
Vista:

Cajas de texto

Publicado por sergio (8 intervenciones) el 14/07/2006 23:32:22
tengo en un formulario de access unas cajas de texto enlazadas a un campo de una tabla,
por cada registro de la tabla se genera una caja de texto.

El problema es que dependiendo de unos valores tengo que pintar las caja de texto de distintos colores(5 colores diferentes)

en modo diseño en formato condicional acceess(solo te da 3 opciones )

Tendria que realizarlo por codigo

como podria realizarlo?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Cambiar color de cajas de texto en un formulario según valores de un campo

Publicado por Alejandro (4142 intervenciones) el 20/07/2023 23:21:45
Para cambiar el color de las cajas de texto en un formulario de Access basándote en ciertos valores, necesitarás usar código VBA (Visual Basic for Applications). Aquí te proporciono un ejemplo de cómo hacerlo:

Supongamos que tienes un formulario llamado "MiFormulario" con cajas de texto enlazadas al campo "CampoColor" de una tabla. Quieres cambiar el color de las cajas de texto dependiendo del valor que tenga el campo "CampoColor". En este ejemplo, utilizaremos cinco colores diferentes (rojo, verde, azul, amarillo y blanco).

Paso 1: Abre el formulario en modo diseño

Paso 2: Haz clic con el botón derecho en la caja de texto que deseas cambiar de color y selecciona "Propiedades" para abrir la ventana de propiedades de la caja de texto.

Paso 3: En la ventana de propiedades, selecciona la pestaña "Eventos" y busca el evento "Al cargar". Haz doble clic en el cuadro en blanco al lado de "Al cargar" para generar automáticamente un procedimiento en VBA para el evento.

Paso 4: Aparecerá el editor de código VBA con el siguiente procedimiento generado automáticamente:

1
2
3
Private Sub Form_Load()
 
End Sub

Paso 5: Dentro del procedimiento "Form_Load", escribir el código para cambiar el color de la caja de texto según el valor del campo "CampoColor". Aquí tienes un ejemplo para cambiar el color de fondo de la caja de texto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
Private Sub Form_Load()
    Dim colorCode As String
 
    ' Obtener el valor del campo "CampoColor" del registro actual
    colorCode = Me!CampoColor.Value
 
    ' Asignar el color adecuado a la caja de texto según el valor del campo "CampoColor"
    Select Case colorCode
        Case "Rojo"
            Me!NombreCajaTexto.BackColor = RGB(255, 0, 0) ' Rojo
        Case "Verde"
            Me!NombreCajaTexto.BackColor = RGB(0, 255, 0) ' Verde
        Case "Azul"
            Me!NombreCajaTexto.BackColor = RGB(0, 0, 255) ' Azul
        Case "Amarillo"
            Me!NombreCajaTexto.BackColor = RGB(255, 255, 0) ' Amarillo
        Case "Blanco"
            Me!NombreCajaTexto.BackColor = RGB(255, 255, 255) ' Blanco
        Case Else
            ' Si el valor no coincide con ninguno de los casos anteriores,
            ' puedes dejar el color predeterminado o asignar otro color.
            Me!NombreCajaTexto.BackColor = RGB(255, 255, 255) ' Blanco por defecto
    End Select
End Sub

Asegúrate de reemplazar "CampoColor" con el nombre correcto del campo que contiene el valor que determina el color y "NombreCajaTexto" con el nombre de la caja de texto que deseas cambiar.

Repite este proceso para cada caja de texto que necesites cambiar de color. Cuando el formulario se cargue o cambie de registro, el código se ejecutará y cambiará el color de fondo de la caja de texto según el valor del campo "CampoColor".
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar