Problemas con código en Informe de Access

Expertos, buenas noches.

Tengo un problema con un informe de access, (adjunto imagen del diseño) el asunto es :

El informe presenta 4 campos donde aparecerán valores numéricos, dependiendo del valor, se deberá visualizar una senal en color ROJO - AMARILLO o VERDE, el informe al ejecutarse muestra los valores correectos, pero no visualiza el color respectivo y en su lugar muestra para todos los registros los colores que corresponden al primer registro.

El código que he colocado en cada casilla es:

Select Case PIC_TaktBefore.Value
   Case Is >= 9
      Me.Color_R1.Visible = True
     Me.Color_A1.Visible = False 
     Me.Color_V1.Visible = False
  Case 7 To 8
    Me.Color_R1.Visible = False
    Me.Color_A1.Visible = True
    Me.Color_V1.Visible = False
  Case Is < 7
    Me.Color_R1.Visible = False
    Me.Color_A1.Visible = False
    Me.Color_V1.Visible = True
End Select

Los círculos de colores para este primer campo son R1 (para el rojo), A1(para el amarillo) y V1(para el verde. (Para los otros 3 controles los colores serian R2, A2, V2, R3, A3, V3, R4, A4, V4)

Este código esta colocado en el evento "AL CARGAR", por que si lo coloco en el evento "AL ABRIR" Access me muestra un error que dice que no encuenta el campo. Y he leído que varios usuarios tienen este problema (Error 2424).

¿Pueden indicarme que debo hacer para que los colores cambien en función del valor del campo?

Muchas gracias.

1 Respuesta

Respuesta
2

El código lo debes poner en el evento "al dar formato" de la sección Detalle de tu informe, para que se "ejecute en cada registro"

Gracias por tu pronta respuesta, dime que podría estar pasando no aparece ahora ningún color como activo, ¿a qué se puede deber? Gracias !

Una consulta, al poner el código en el evento [Al dar formato] los círculos de colores no se visualizan, (coloque seguimiento a cada instrucción para ver que hace el programa y no lee una a una las instrucciones). Sin embargo al poner el código en el evento [Al cargar] y colocar las marcas para el seguimiento (según como mando en la imagen) el programa lee el ultimo registro y muestra el mismo color para todos los resultados.

Los datos para el primer campo son 7 (correspondería Amarillo). 7.¿5 (correspondería Amarillo) y 5.39 (Correspondería Verde) entonces el listado muestra 3 registros pero el color es Verde (osea el ultimo) Que estoy haciendo de errado? La verdad no entiendo el problema es solo con el informe ya que el formulario que carga los datos uno a uno si discrimina el color según el valor del campo. Gracias por tu respuesta

Para que el evento "al dar formato" se ejecute (y se muestren los colores correctamente) el informe lo debes de abrir en "Vista Preliminar" o lanzarlo directamente a impresora. No sirve abrirlo en "Vista Informes". Me da que ese es el "problema"

Con el código puesto en el evento [Al dar formato] y abierto en:

[Vista preliminar] o [Vista Informe] No aparece ningún circulo de color.

Mientras que colocando el código en el evento [Al cargar] y abierto en

[Vista preliminar] : No aparece ningún circulo de color

[Vista Informe] : Todos los círculos en Verde.

No entiendo que puede estar pasando, el código es simple y la lógica a emplearse también lo es, los valores que se ingresaron en el formulario son "jalados" sin problemas, ¿el tema esta en cuando se debe "hacer visible" una casilla de color dependiendo del numero de esa casilla ... Alguna idea adicional? Disculpa pero yo no encuentro forma de hacer andar ese informe : ( Preciso de tu ayuda

¿En qué evento "al dar formato" has puesto el código? Tienes que ponerlo en el de la sección donde tengas los controles imagen (los círculos de colores), que por lo que veo en la imagen es en la sección Detalle. Pero cada una de las secciones del informe tiene su evento "al dar formato".

Yo nunca tuve problemas en hacerlo así como te digo, y de hecho, hice la prueba simulando tu BD (con menos imágenes) y funciona perfectamente: http://www.filebig.net/files/xqcs8AWZpY

Hola, puse el código justo en el evento Al dar formato de la sección [Detalle], revisare el código que envías, y te agradezco el apoyo, me ayudas mucho con tus explicaciones.

Ya dirás entonces cómo fue por si necesitas algo más.

Agradezco tu gentl apoyo, tienes razón tu ejemplo (el que me enviaste) funciona perfectamente, así que procedí a hacer algunas alteraciones para implementar la sintaxis que tu proponías,

mi sintaxis [Select Case Pic_TktBefore.Value] fue cambiada por tu sintaxis

[Select Case Me.Pic_TktBefore], pero lo que realmente hizo una gran diferencia es que tu usaste "01 figura gráfica" para cada color, yo sin embargo use 01 botón (con formato circular) para cada color y al cambiarlo por tus imágenes "TODO QUEDO PERFECTO !!!!", una vez más te agradezco la gentileza. Por cierto "Tenias razón el código va en el evento "Al dar formato" :)

Me alegra que lo solucionaras.

Ahora que comentas que usas botones y no imágenes, creo que ya sé dónde está el problema: lo botones, por defecto no se muestran en los informes en vista preliminar ( como la idea de in informe es imprimirlo, no tiene sentido a priori que le coloques botones que no van a hacer nada). Para que se vean hay que cambiar una propiedad, "mostrar cuando " o algo así, y ponerla en "siempre"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas