Informes en Access 2003

Buenos días,
Estoy realizando informes con Access 03 y tengo una duda. Tengo una bbdd dedicada a unas Pruebas. Estas pruebas tienen distintos campos. Uno de ellos es "Entidad". "Entidad" es una tabla que esta vinculada a otra, la tabla "Estacion". Por otra parte, la tabla principal contien un campo numérico llamado "PK". La tabla principal se relaciona con la tabla Estación por un IdEstacion y con la Entidad por otro Id. Estas a su vez se relacionan también.
Si nosotros tenemos una "Entidad" tipo "Tunel", el campo "Estacion" queda nulo y el campo "PK" se llena (se da esa opción en el formulario de entrada de datos), pero si escogemos cualquier otro tipo de "Entidad", es al revés, el campo "Estacion" contiene algo y el "PK" esta nulo.
La idea es que cuando imprimo informes, debería hacer algo para que cuando la "Entidad" sea Túnel se vea el "PK" y si no lo es, se vea "Estacion".
Ahora mismo, haciendo el informe con el asistente, solo se me imprimen las Pruebas que tienen Estación no nulo y no se ven las que tienen PORQUE. ¿A qué es debido? Por otro lado, ¿cómo puedo conseguir lo que me propongo?
Muchas gracias por su tiempo

1 Respuesta

Respuesta
1
Menudo lio!
Antes que nada ve al diseño del informe y mira en Datos / Origen del registro.
De aquí salen los datos del informe. Mira que todo sea correcto así como los resultados.
Para visualizar y ocultar controles en función de Entidad el código seria...
Private Sub Report_Page()
If Entidad = "TUNEL" Then
CajaTextoPK.Visible = True
CajaTextoEstacion.Visible = False
Else
CajaTextoPK.Visible = False
CajaTextoEstacion.Visible = True
End If
End Sub
Ok, había puesto un código idéntico al que has citado, pero ya se porque no sucedía lo esperado: la consulta que uso no me muestra las estaciones cuyo campo estación es nulo (de ahí que siempre me imprimiera lo mismo). No se como arreglarlo la verdad, ya que lo he hecho con el asistente y no tengo muchas dotes con SQL (ni con Access...).
¿Alguna sugerencia?
Aun así, muchas gracias por lo rapido que ha contestado
Hola de nuevo, he podido arreglar la consulta: simplemente debía poner un LEFT JOIN en la relación entre Entidad y Estación
Entidad LEFT JOIN Estacion ON Entidad.IDEntidad = Estacion.IdEntidad
Antes habia un INNER JOIN. Con el LEFT JOIN conseguimos que nos añada todos los registros de la tabla situada a la izquierda en lugar de solo los coincidentes entre ambas (es lo que hace INNER).
Aun así, haciendo esto y con el código que me facilitaste sucede que me agrupa todos los Punto Kilometraje en un mismo grupo. Es decir, Punto Kilometraje(PORQUE) es un número que varia y si por ejemplo tengo una entrada con PORQUE = 2 y otra con PK= 12 en el informe me aparece PORQUE = 2 con la info de las 2 entrada (no distingue). ¿Cómo puedo solucionarlo?
Gracias de nuevo
Fíjate bien en lo que devuelve la consulta y lo que devuelve el informe
Así como si salen varias páginas en vista previa
OK, al final lo he arreglado estableciendo un nuevo encabezado con PORQUE, seguido del de Estación. He completado el código que me facilitaste: si la estación es túnel, entonces pongo visible el encabezado del porque y escondo el otro. En el otro caso lo contrario.
Gracias por tu tiempo y un saludo!
Pues si te parece puedes finalizar y valorar la pregunta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas