Access - Dudas con informe

 
Vista:
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Dudas con informe

Publicado por Pablo (328 intervenciones) el 24/03/2021 19:24:53
Hola a tod@s
Estoy empezando con un informe y de entrada se me plantean las siguientes dudas:
1.- Es posible, está bien hecho, que no tenga ningún registro de detalle. Cree 3 grupos y los registros de detalle están en el tercer grupo
2.- Hay forma de añadir un grupo pero antes de uno existente, no después. Me explico?
3.- Quiero que en el primer grupo ponga un título, tiene un único campo que puede ser A o P , quiero que ponga ACTIVO o PASIVO, puse un campo de texto con origen de datos= if campo="A" then textonuevo="ACTIVO" , funciona la segunda vez que hago una vista preliminar, dónde está el fallo?

Gracias
Pablo
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

Dudas con informe

Publicado por Anonimo (3316 intervenciones) el 24/03/2021 21:58:58
Si se ha creado textualmente como se indica, lo raro es que funcione la segunda vez, porque Access no debería entender que significa 'IF' (lo entenderá solo en VBA como expresión condicional), pero hay muchas versiones y cada vez esta 'mas domesticado'.

Para que lo pueda evaluar 'a la primera' necesita acceder a ese valor y deberá estar (visible/minimizado/oculto) en la misma sección, algo así:

= IIF([campo] = "A"; "Activo"; "Pasivo")
(después traducirá el IIF a su equivalente en el idioma local y también funcionara)

Los grupos se anidan y el 'detalle' solo existe en el grupo ultimo (el mas profundo), si los grupos se llamasen 'Grupo1', 'Grupo2', 'Grupo3':

Cabecera de página

Cabecera de informe

Cabecera del grupo1
---
------ Cabecera del grupo2
------
---------Cabecera del grupo3

.... detalle
.... detalle
.... detalle

--------- Pie del grupo3
---------
------ Pie del grupo2
------
--- Pie del grupo1
---
Pie del informe

Pie de pagina

Se pueden añadir campos en la cabecera y/o el pie de cada grupo, tambien mas grupos: pero el esquema 'base' es ese

Los grupos saldrán en el orden que se les indique y tanto las cabeceras de grupo como los pies (asi como el resto de las secciones) pueden estar visibles o invisibles.

La 'otra' posibilidad es que en lugar de grupos se inserten sub_informes, asi cada 'sub_informe tendrá lo que se diseñe para el.
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
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Dudas con informe

Publicado por Pablo (328 intervenciones) el 25/03/2021 18:47:07
Hola Anónimo:
Vamos por partes:
1.- Eliminé el tercer grupo y puse el campo que tenía en detalle, funciona bien
3.- En el evento format del encabezado de página tengo:
1
2
3
Private Sub SecciónEncabezadoDePágina_Format(Cancel As Integer, FormatCount As Integer)
If Me.masa0_bala = "A" Then Me.Texto3 = "A C T I V O"
End Sub
Como decía funciona la segunda vez, a lo mejor hay que ponerlo en otro evento?
Gracias
Pablo
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

Dudas con informe

Publicado por Anonimo (3316 intervenciones) el 25/03/2021 21:57:09
Si el dato a evaluar no esta en la misma sección (el encabezado de pagina), Access no tendrá acceso a el, la segunda vez (ya habrá construido esa sección) y 'lo recordara'.

Lo de mencionar el VBA es porque has publicado ese código precedido del signo igual, lo que me hizo suponer que se utilizaba en el propio control (en su vista diseño), por ello lo de ponerle paréntesis en mi respuesta.

Si deseamos esto: ... , tiene un único campo que puede ser A o P , quiero que ponga ACTIVO o PASIVO,...

En ese evento se escribe así:
1
Me.Texto3 = IIF(Me.masa0_bala = "A",  "A C T I V O", "P A S I V O")

SI encuentra una 'A' pondrá 'activo' y si no es una 'A' (sea lo que sea) pondrá 'pasivo.' (dos por el precio de uno, si un Null no impone otra cosa)
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
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Dudas con informe

Publicado por Pablo (328 intervenciones) el 26/03/2021 18:39:37
Hola Anónimo:
Copié y pegué la instrucción IIF, sigue sin poner nada, paso a vista diseño, otra vez a preliminar y sí lo pone. Por qué?????
Pablo
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
sin imagen de perfil
Val: 266
Bronce
Ha mantenido su posición en Access (en relación al último mes)
Gráfica de Access

Dudas con informe

Publicado por Pablo (328 intervenciones) el 26/03/2021 19:35:34
Y por qué los registros de detalle están ordenados de mayor a menor, debería de ser al revés, en la consulta origen están bien, donde cambio el orden. En ordenar agrupar cambio el orden de cada grupo pero, el de detalle dónde?
Gracias
Pablo
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

Dudas con informe

Publicado por Anonimo (3316 intervenciones) el 26/03/2021 20:54:12
Dos observaciones:

Para obtener resultados fiables se han de cumplir las condiciones y una de ellas es poder acceder a los datos.

¿Se puede tener acceso a 'Me.masa0_bala', porque si ese dato esta en el detalle u otra sección posterior ... el detalle o sección existirá cuando llegue a el (nunca antes, pues aun no se ha creado el objeto que contendrá el valor).

También ha de cumplirse que el objeto destino 'Me.Texto3' este creado, esto es: el calculo ha de ponerse en la sección donde este el cuadro de texto (no tiene sentido calcularlo en la sección de cabecera y utilizarlo en el pie de página).

Sobre el orden ... poner un orden en el origen de datos es inútil, para ordenar los informes se han de utilizar las herramientas del propio informe.

Esto es 'los datos ordenados o desordenados' (no importa), se aplica el orden en el informe (además se pueden ordenar por secciones ....)

Hay muchas posibilidades para ser creativos en los informes, convendrá dedicar tiempo a sus posibilidades.

Un informe no se parece (seria absurdo ser igual) a un formulario, cada uno tiene una funcionalidad y unos métodos propios..
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