Access - omitir campos en un informe (SI/No)

 
Vista:
sin imagen de perfil

omitir campos en un informe (SI/No)

Publicado por Fernando (6 intervenciones) el 28/02/2016 19:00:22
Hola a todos, es la primera vez que participo y tengo una problema que me esta volviendo loco..

Estoy intentando crear una plantilla, para que pueda ser usado sin animo de lucro en clinicas africanas...

basicamente se trata de un conjunto de una tabla que se utilizara para identificar el paciente (datos basicos) y otras tablas conteniendo diferentes parámetros clínicos que serán rellenados por el doctor..

El problema se me presenta por que, no siempre se rellenaran todos los campos de una tabla, y.... para evitar que en el informe final se mostraran los campos vacíos se me ocurrio crear campos de verificación ( SI/No) de tal manera que un activador obtuviera valor verdadero solo cuando se rellena,.

Una vez estructurada todas las tablas, resulta que soy incapaz de generar una consulta para que me OMITA EL CAMPO ( no me refiero a que aparezca dicho campo con el valor en blanco), ya que como dije al principio, la intención es que en el informe solo aparezcan los campos activos( es decir, los que han sido rellenados).

No se si lo que quiero es muy lioso o....

Toda ayuda será bien recibida,
Gracias de Antemano por vuestro tiempo.
(adjunto base para verlo mas claramente)
Fernando
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

omitir campos en un informe (SI/No)

Publicado por jose (830 intervenciones) el 28/02/2016 20:08:19
en la consulta que hagas, debes de seleccionar y decirles que campos no quieren que salgan cuando sean nulos


poniendo en CRITERIO , TRUE si tienes access en ingles o verdadero si esta en español



si estuvieran en una tabla que tiene mas un un criterio , lo que se puede hacer es ocultar esos datos al pasarlos al informe

en el evento al imprimir del detalle del informe ponerle if isnull(campon) then campon.visible=false else campon.visible=true
o if campon=false then campon.visible=false else campon.visible=true
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

omitir campos en un informe (SI/No)

Publicado por Fernando (6 intervenciones) el 28/02/2016 21:45:01
Hola Jose, gracias por tu rapidez y precisión en la respuesta.

Dado que el verificador si/no en ocasiones lo aplique a un grupo de varios campos... he creado tantas consultas, como verificadores tenia, y luego, a su vez, otra consulta donde agrupaban todos. El resultado en principio, creo que se acerca a lo que quiero, y es que si no está activado el verificador, aunque el campo este escrito, no lo muestra la consulta. (MUCHAS GRACIAS).

Ahora viene la segunda parte.... y es que el informe omita los campos en blanco... he visto que decías:

>>>>>>>>>>>>>>>>>>>>>
en el evento al imprimir del detalle del informe ponerle if isnull(campon) then campon.visible=false else campon.visible=true
o if campon=false then campon.visible=false else campon.visible=true
>>>>>>>>>>>>>>>>>>>>
por favor, aclárame si esta sentencia se debe de escribir en cada campo del informe, o si como entiendo, hablas del detalle del informe, debe hacerse ahi, por favor puedes explicármelo con mas detalle? . Tengo mucha voluntad, pero no muchos conocimientos de acces, ( : > ) , por cierto, tengo el 2010.

De nuevo gracias

Fernando
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

omitir campos en un informe (SI/No)

Publicado por jose (830 intervenciones) el 29/02/2016 16:39:54
Hola Fernando

Los campos deben de estar todos en el informe , campo1, campo2 .....campon


despues en el evento "AL IMPRIMIR" del detalle del informe debes de poner

if campo1=false then campo1.visible=false else campo1.visible=true
if campo2=false then campo2.visible=false else campo2visible=true
.
.
if campon=false then campon.visible=false else campon.visible=true


claro esto tiene el inconveniente de que el espacio del que no se visualiza esta ahi
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

omitir campos en un informe (SI/No)

Publicado por jose (830 intervenciones) el 29/02/2016 16:45:11
otro procedimiento seria tener un cuadro de texto independiente en donde se añadirian los datos solo de los que no fueran falso
(este cuadro de texto no tiene que tener origen de datos ni de tablas ni de consultas, debe de estar vacio
debiera estar colocado en el detalle del informe y en este caso le he llamado textoindependiente
seria tambien en el evento AL IMPRIMIR del detalle

if campo1 = true Then variable_n = variable_n & " " & "dolores de cabeza"
if campo2 = true Then variable_n = variable_n & " " & "colesterol"

if campon = true Then variable_n= variable_n & " " & diabetes"

textoindependiente= variable_n

notas los objetos campo1, campo2 ... campon debes tenerlos en el detalle del informe pero no visibles y reducidos de tamaño para que no estorben


en el evento al imprimir en la cabecera de la persona debes de inicializar la variable
Variable_n= ""


en el evento al cargar el informe debes de inicializar la variable : dim Variable_n as string
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

omitir campos en un informe (SI/No)

Publicado por Fernando (6 intervenciones) el 29/02/2016 17:37:06
hola otra vez, finalmente creo haber generado en el detalle del informe la sentencia que me indicabais, pero debo de haber cometido algún error por que me sale el siguiente mensaje cuando hace una depuración ( afjunto pantallazo).

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
1
2
3
4
Private Sub EncabezadoDelGrupo0_Print(Cancel As Integer, PrintCount As Integer)
 If IsNull(campon) Then campon.Visible = False Else campon.Visible = True
 If campon = False Then campon.Visible = False Else campon.Visible = True
End Sub
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

por favor podeis decirme donde está el fallo?, no estoy nada familiarizado con este tipo de lenguaje informaticos

Gracias
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

omitir campos en un informe (SI/No)

Publicado por jose (830 intervenciones) el 29/02/2016 17:50:59
Hola Fernando


fijate
Private Sub EncabezadoDelGrupo0_Print(Cancel As Integer, PrintCount As Integer)

lo has puesto en encabezado del grupo y tiene que estar en el detalle, ya que posiblemente ahi no tienes el objeto de texto al que haces referencia
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

omitir campos en un informe (SI/No)

Publicado por Fernando (6 intervenciones) el 29/02/2016 19:23:42
gracias de nuevo Jose, creo haberlo entendido, ya te contaré
fernando
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

omitir campos en un informe (SI/No)

Publicado por Enrique Heliodoro (1664 intervenciones) el 01/03/2016 10:08:18
Una forma de lograr reducir el espacio de impresión utilizado por los campos sin contenido, suele ser 'amontonarlos arriba', esto es: darle una altura de cero tras ello alinear al superior, y permitir/activar la expansion automática.

Si un campo carece de contenido no se expandirá (no ocupara espacio) y al tener altura cero y sin contenido ...poco podrá verse.

Ello creara una serie de informes personalizados que hará mas complicada su 'lectura rápida' a un experto con respecto a otro informe que tenga 'cada cosa en su sitio y bien organizada' que le permita de una ojeada ver su contenido.

En uno (el comprimido) el lector tendrá que buscar a que corresponde cada cosa (porque cada una saldrá en un sitio), en el otro le llevara menos tiempo y su ergonomía le hara menos propenso a errores (y ambos en un diseño normalizado, gastaran la misma hoja DIN A4 que facilitara su archivado).

No creo que sea el papel o la tinta el problema a solventar (sobre todo cuando se pierde de vista lo importante, que sea amable con el usuario esto es: ergonómico).
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

omitir campos en un informe (SI/No)

Publicado por Fernando (6 intervenciones) el 01/03/2016 16:17:10
Hola Enrique, gracias por tu aportación, realmente es una idea original, pero creo que en mi caso, puede no ser practico, ya que a cada campo en el informe, le precede un título (una etiqueta) e incluso otro campo complementario ( informando del valor normal de la prueba), ejemplo:

(etiqueta) [ Test gota gruesa ( Malaria) ]:" campo [ resultado] = " Positivo " , campo [rango normal] = " Negativo"

de lo que se trata es que al rellenar la tabla, si de toda las lista de pruebas diagnosticas existente en la tabla,, la prueba " Test Gota Gruesa" no es solicitada ( y por tanto no se activo la casilla de verificación), cuando se mandara imprimir el informe, la fila que contiene la etiqueta , + el campo resultado + el campo valor normal tampoco deberían de aparecer,

con tu propuesta, que me parece original, creo que, evitaríamos que aparecieran los campos [resultado] y [Valores referencia], pero seguiria siendo visible la etiqueta que define el parámetro [Test gota gruesa]

dime si me equivoco, En cualquier caso, mucha s gracias por tu aportación.... no se si lo que quiero es un imposible,

Fernando
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

omitir campos en un informe (SI/No)

Publicado por Fernando (6 intervenciones) el 02/03/2016 22:06:31
Hola a todos, gracias por vuestras aportaciones finalemnte he podido dar con la solución. para omitir campos en el informe, QUizás haya formas más rápidas y eficaces, pero.... a mi se me ocurrio esta:

Dado que en una tabla, puede haber campos que no desee rellenar para ese registro, lo que hice fue vincular dicho campo/campos a una casilla de verificación (Si/No).

Posteriormente generé una consulta en el que aparecieran todos los campos, y sus correspondientes verificadores . A partir de dicha consulta generé un informe.

Dentro de las propiedades de "DETALLE" , en las propiedades de eventos, en el apartado " al dar formato" genere la siguiente expresión:

If act_1 = 1 Then VSG.Visible = True Else VSG.Visible = False

donde "act_1" ( era el activador SI/No que verificaba si el campo "VSG" se había rellenado)

De esta manera, si no se ha activado el verificador para ese campo, cuando se genere el informe no aparecerá dicho campo.

GRACIAS A TODOS POR VUESTRA AYUDA, me habéis abierto los ojos.

Ahora solo me queda poder hacer algo, para que los campos que si están activados puedan ir apareciendo de forma automática y ordenada sin que me deje espacios en blanco ( de los campos no activos).

Alguna sugerencia?

Fernando
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

omitir campos en un informe (SI/No)

Publicado por jose (830 intervenciones) el 03/03/2016 15:21:44
como te comente mas arriba


otro procedimiento seria tener un cuadro de texto independiente en donde se añadirian los datos solo de los que no fueran falso
(este cuadro de texto no tiene que tener origen de datos ni de tablas ni de consultas, debe de estar vacio
debiera estar colocado en el detalle del informe y en este caso le he llamado textoindependiente
seria tambien en el evento AL IMPRIMIR del detalle

if campo1 = true Then variable_n = variable_n &"dolores de cabeza" & " "
if campo2 = true Then variable_n = variable_n & "colesterol" & " "

if campon = true Then variable_n= variable_n & diabetes" & " "

textoindependiente= variable_n

notas los objetos campo1, campo2 ... campon debes tenerlos en el detalle del informe pero no visibles y reducidos de tamaño para que no estorben


en el evento al imprimir en la cabecera de la persona debes de inicializar la variable
Variable_n= ""


en el evento al cargar el informe debes de inicializar la variable : dim Variable_n as string
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

omitir campos en un informe (SI/No)

Publicado por jose (830 intervenciones) el 03/03/2016 18:10:16
si quieres que la informacion salga cada uno en una linea

if campo1 = true Then variable_n = variable_n &"dolores de cabeza" & vbCrLf
if campo2 = true Then variable_n = variable_n & "colesterol" & vbCrLf

if campon = true Then variable_n= variable_n & diabetes" & vbCrLf

textoindependiente= variable_n
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