Casilla de Verificación en consulta de Access

Tengo un informe basado en una consulta con un campo de verificación, habría alguna posibilidad en una consulta que antes de lanzar el informe que esta sobre esa consulta me preguntase si/no 

2 respuestas

Respuesta
1

Puedes hacerlo de mil formas distintas. Vamos a suponer que la tabla origen de la consulta tiene un campo Elegir (si/no).

En un formulario tengo un botón, aunque la instrucción podría estar en cualquier otro evento.

Cuando lo pulso

Si escribo

Y pulso Aceptar

Me saca sólo los marcados. Si le hubiera dicho que no me sacaría sólo los sin marcar.

En este caso el código del botón es

Private Sub Comando33_Click()
Dim s As String
s = InputBox("Escriba si o no para que le abra el informe con los marcados o no", "Lo que sea pero decídete de una vez")
If s = "Si" Then
DoCmd.OpenReport "Clientes", acPreview, , "elegir=-1"
Else
DoCmd.OpenReport "Clientes", acPreview, , "elegir=0"
End If
End Sub

Pero también, en vez de lo anterior, podrías poner en el código del botón

Private Sub Comando33_Click()
DoCmd.OpenReport "Clientes", acPreview, , "elegir=[ Escribe -1 o 0]"
End Sub

Con lo que cuando lo pulsaras, te preguntaría lo de Escribe...y en función de lo que escribas te muestra los marcados o no.

En fin, que hay muchas formas

Respuesta
1

Esta es otra forma de hacerlo, se requiere:

1. Tabla

1 Consulta (Dependiente del formulario)

1. Formulario

1. Reporte

TABLA

Observe que en la tabla existe el campo enviado y es de tipo Sí/No (poco me gustan).

FORMULARIO

El formulario consta de un control Grupo de Opciones, le asigno el nombre opcReporte. Diseño la consulta con base en este formulario como muestra la imagen siguiente:

Igualmente el control opcReporte tiene programado el evento Después de actualizar ejecutar el informe.

Código del control Grupo de Opciones opcReporte

Private Sub opcReporte_AfterUpdate()
  DoCmd.OpenReport "rptPedidos", acViewPreview
End Sub

Al hacer clic en No obtengo:

Al hace clic en obtengo:

Trate en lo posible filtrar en la consulta, esto hace más rápido la generación del reporte, toda vez, que solo se cargan los registros que cumplan el criterio, mientras que si filtra en el reporte Access carga todos los registros que estén en la tabla o consulta origen del reporte, es posible que note la diferencia en tablas con pocos registros pero si lo notará cuando cargue bastantes registros, personalmente cargo 1 millón y más registros que están en un servidor de PostgreSQL.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas