Mostar todos los registros en informe desde la selección de una opción en un combo

Quiero poder mostrar los informes (desde un formulario) que muestren las facturas pagadas, las no pagadas y ambas.

Tengo una consulta C Facturas que me muestra los datos que deso en mi informe.

En la tabla FACTURA pagado es un valor Si/No

Para ello he creado un cuadro combinado (MOSTRAR) en el formulario MOSTRARFACTURAS en el que tengo las tres opciones : Pagado // No pagado // Ambas y un botón que al pulsarlo me ejecuta la macro

MACRO:

* Condición: [Formularios]![MOSTARFACTURAS]![MOSTRAR]=1

-Condición del WHERE:[C Facturas]![pagada]=-1 --> muestra las facturas pagadas

* Condición: [Formularios]![MOSTARFACTURAS]![MOSTRAR]=2

Condición del WHERE: [C Facturas]![pagada]=0 --> muestra las facturas no pagadas

* Condición: [Formularios]![MOSTARFACTURAS]![MOSTRAR]=3

Condición del WHERE: ***** Que código debo poner aquí para que me muestre ambos casos ****

He probado poniendo [C Facturas]![pagada]=-1 O [C Facturas]![pagada]=0 pero lo único que hace es mostrarme un formulario con los campos en blanco

¿Qué debo poner?

Gracias

1 Respuesta

Respuesta
1

Supongo que el informe se llama Facturas y está basado en la tabla Facturas (el campo sí/no lo llamaré Pagado)

En un formulario, un cuadro combinado, en sus propiedades:

Nombre: selEstado

Origen de la fila: Pagado;No Pagado;Todas

Al hacer clic: Procedimiento de evento ---> Picas en el cuadrado de la derecha, el de los ... para abrir el generador de código y pones:

Private Sub selEstado_Click()

Select Case Form!selEstado.Value

Case "Pagado"

DoCmd.OpenReport "Facturas", acViewPreview, , "Pagado=true"

Case "No Pagado"

DoCmd.OpenReport "Facturas", acViewPreview, , "Pagado=false"

Case "Todas"

DoCmd.OpenReport "Facturas", acViewPreview

End Select

End Sub

Es decir, utilizamos el Select Case... End Select para utilizar los distintos valores que puede tomar el cuadro combinado. Según el valor que tome, abriremos el informe con un filtro distinto o sin filtro en el caso Todas.

He echo lo que me dices con mis datos y no hace nada

Private Sub facturas_marco_Click()
Select Case Me.facturas_marco.Value
Case "Pagadas"
DoCmd.OpenReport "I Factura-Pagado", acViewPreview, , "Pagadas=true"
Case "No Pagado"
DoCmd.OpenReport "I Factura-Pagado", acViewPreview, , "Pagadas=false"
Case "Todas"
DoCmd.OpenReport "I Factura-Pagado", acViewPreview
End Select
End Sub

No sé si lo comenté que lo que yo hago es seleccionar la opción y luego pulsar un botón para que me abra el formulario

De esta forma lo tienes para ejecutar el código en la acción Al hacer clic del cuadro combinado. Si lo quieres en el botón, tendrás que poner el código en la acción Al hacer clic del propio botón.

En cuanto a que no funciona... ¿el nombre del campo de la tabla es pagadas o pagada como ponías en la 1ª pregunta...?

Hola

Si pongo el código en Al hacer clic del botón no me muestra nada (en la tabla FACTURAS el campo es pagada sin la ES) pero sigue sin mostrarme nada al hacer clic

No sé si importará mucho, pero estoy empleando Access 2007 aunque la base de datos está en Access 2003, lo digo porque al teclear a mano el DoCmd.OpenReport

Cambie lo de Case "pagadas" por Case 1 Case 2 y Case 3 pero tampoco

No se si tendrá que ver la versión de access...

De todos modos, como la BD la tienes en access 2003 (que es el que tengo) me la puedes mandar par echarla un vistazo.

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas