Cómo poner colores en tabla access?

Tengo un campo de mi tabla access llamado "estado" el cual solo contiene los valores de CANCELADA y ACTIVA, lo que deseo es que los registros que dicen ACTIVA se pongan de color negro y los que dicen CANCELADA se pongan de color rojo, he utilizado lo siguiente en el formato:

[Negro];@;"CANCELADA"[Rojo] pero me muestra todos los valores en negro, este formato funciona si los valores que indican "CANCELADA" estuvieran en vacios.

Si alguien sabe cual es el formato correcto se lo agradezco

1 Respuesta

Respuesta
3

Vamos a ver si consigo explicarme, dado que es un tema un poco enrevesado porque no sigue lo que podríamos considerar la "lógica humana" ;-)

Las tablas NO deben ser utilizadas para aplicar formato condicional, dado que no están preparadas para ello. Eso significa que, en puridad, la respuesta a tu pregunta debería ser: no, no puedes hacer lo que quieres en una tabla, por lo que te recomiendo que lo hagas sobre un formulario en vista hoja de datos basado en la tabla y apliques el formato condicional, que sí es admitido en un formulario.

Y ahora vamos a por lo "raro a nivel humano". La expresión:

[Negro];@;"CANCELADA"[Rojo]

Lo que significa, realmente, es:

Si el campo contiene un dato (da igual si es 'Activa' como si es 'Berenjena') el color en el que se mostrará ese dato será negro; si el campo NO contiene dato, esto es, el valor del campo es un NULL, yo, Access, te voy a MOSTRAR (que no almacenar) el valor por defecto "CANCELADA" y, además, te lo mostraré en rojo.

Si tú escribes CANCELADA, según la explicación anterior, automáticamente el campo deja de ser NULL y, por tanto, tiene valor; ergo, te lo muestro en negro.

Este comportamiento se extiende si lo aplicamos a un formulario, consulta o informe: si hay valor te lo muestro en negro, si no hay valor te muestro el valor por defecto en rojo. Pero desde el momento que intentes acceder al valor por código VBA, por ejemplo, el valor de ese campo será un NULL. Porque hay que tener claro que Access distingue entre dos circunstancias: el valor que te MUESTRA y el valor que ALMACENA.

Espero que más o menos se haya entendido el comportamiento de Access en este sentido y porque no es posible conseguir lo que quieres directamente en tabla.

Un saludo,

Neckkito (http://bit.ly/NckAccess )

¡Gracias! Por tu tiempo,

Pase investigando y lo más cercano a lo que deseaba fue eso([Negro];@;"CANCELADA"[Rojo]), me dije nada pierdo con preguntar.

El formato condional se aplicarlo, pero el asunto esta en que el color lo quiero ver en los datos de un cuadro de lista y este control no se admite el formato condicional. Por esa razón fue que trate de hacerlo desde la tabla pero ya veo que no es posible.

Tratare sustituyendo el cuadro de lista por otro control.

Gracias Neckkito

Depende de la complejidad de lo que desees hacer puedes "simular" (por decirlo para que me entiendas) ese cuadro de lista por un formulario continuo (que en realidad sería un subformulario), y en el formulario continuo sí puedes utilizar el formato condicional.

Pero, insisto, depende de lo que quieras hacer, que no vaya a ser peor el remedio que la enfermedad.

Por si te sirve de inspiración ;-)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas