Ocultar campos sí/no en informe

Estoy creando un informe y tengo que incorporar unos 25-30 campos tipo sí/no.

El tema es para cada registro solo están activados entre 3-5 de ellos y no quiero perder el espacio que requieren los 25-30; la idea es que sol ose muestren los campos activados (sí).

¿Hay alguna herramienta tipo "autoextensible-autocomprimible" para campos sí/no? ¿Alguna sugerencia?

1 Respuesta

Respuesta
1

En principio sólo deberías "guardar" los valores representativos, es decir, aquellos que tengan valor. Por ejemplo, supongamos que tengo el formulario, donde sólo pongo 10 casillas de verificación(tú si quieres le pones los 30) y voy rellenando registros

Con lo cual la tabla origen del formulario me quedaría

Pero si en el formulario una vez que he rellenado algunas de las casillas de un registro pulso el botón, me crea la tabla Tabla3, sólo con lo "aprovechable" y un campo Aux que creo yo y que me va a servir para el informe

Numero es el de la casilla de verificación que haya marcado en cada registro. De forma que hago un informe y con un poco de código y algún truquito me queda

Y me evito las 30 casillas. Puedo ver los números de las casillas marcadas en cada registro.

El código no es largo, pero sí un poco lioso, por eso si quieres, repito, si quieres mándame un mensaje(sólo el mensaje) a [email protected] y te mando el ejemplo.

Si lo haces, en el asunto del mensaje pon tu alias Bartoldu, ya que si no sé quien me escribe ni los abro.

Uauh! Genial!

Pero no entiendo tu expresión "... una vez que he rellenado algunas de las casillas de un registro pulso el botón, me crea la tabla Tabla3, sólo con lo "aprovechable" ..."

¿Qué botón pulsas? Aquí me he perdido...

Gracias!

El botón Guardar del formulario que se muestra al principio. Lo que hace es lo del código

Private Sub Comando17_Click()
Dim I As Byte, uno As Control
For I = 1 To 10
Set uno = Controls("campo" & I)
If uno = -1 Then
DoCmd.RunSQL "insert into tabla3(registro,campo1,numero)values(" & Me.CurrentRecord & ",-1, " & I & ")"
DoCmd.RunSQL "update tabla3 set aux=nz(dlast(""aux"",""tabla3"",""registro=" & Me.CurrentRecord & " and Numero < " & I & """))+1 where aux is null"
End If
Next
End Sub

que resume los marcados en la tabla de la imagen 2

¡Gracias! Me parece genial, pero esta solución se escapa de mis posibilidades... no conozco VBA y me va grande... bufff! Esperaré a ver si surge otra respuesta... gracias 1000

¿Sabes si hay alguna opción para mostrar en un informe el nombre del campo si está seleccionado sí?

Ya te ofrecí enviarte un ejemplo, pero como lo rechazaste...

¡Gracias! No es que lo rechazara, es que ya vi que me iba grande, muy grande! Encantado de vuestra ayuda y predisposición, faltaría... pero busco una solución que esté a mi alcance y que pueda gestionar de forma autónoma, aunque sea más cutre.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas