Como puedo hacer una Consulta en Access con dos criterios

Tengo una base de datos y quiero hacer un informe desde una consulta, quiero que se cumplan las dos condiciones en la consulta, me explico

En la tabla tengo varios campos a mostrar en la consulta, los campos de los criterio que quiero son Mes y Año

En el formulario tengo esos dos cuadro de testo, lo que deseo es que cuando se introduzca un mes y un año me genere el informe con los datos de ese mes y de ese año, que se cumplan las dos condiciones, ya que tengo el mismo mes en años diferentes y deseo ver los resultados de un mes en un año especifico.

1 Respuesta

Respuesta
1

Benjamin: Usa el asistente para poner en cada uno de esos campos de la Consulta, y en la Celda de Criterios, en la misma línea algo como ésto>>

Formularios!NombreDeTuFormulario...

Si tienes la Consulta como Origen de Datos del Informe, te debería de Filtrar.

Otro método sería no poner el filtro en la Consulta y hacerlo directo en el Report_Open del Informe, con algo así como:

Private Sub Report_Open(Cancel As Ineger)
Dim Frm As Access.Form
Dim FiltroMes As String,FiltroAño As String
FiltroMes = "Mes = " & Frm.Mes
FiltroAño = "Año = " & Frm.Año
Me.Filter = FiltroMes & " AND " & FiltroAño
Me.FilterOn = True
End Sub

Estoy suponiendo que el mes y el año son Números y que se llaman como cito en la Consulta y en el Formulario. Para una mejor comprensión te separo los Filtros y lo hago con variables, pero se pueden juntar. Recuerda que si filtras en Consulta, no debes hacerlo en Informe. Mis saludos >> Jacinto

¡Gracias! 

Voy a Probar y luego te cuento cuento me  va

El Mes esta en letras,

No se si esto seria problemas y como se solucionaría.

Los criterios los pongo en el formulario, porque cada mes se genera el informe y desde el formulario creo que es más fácil,

Gracias por tu ayuda

Benjamin: Si el Mes es Texto cambia el >> FiltroMes =..., por

FiltroMes = "Mes = '" & Frm.Mes & "'"

Cuidado con los acentos. Si yo tuviera que hacerlo, pondría el mes como Número, no cambiaría la línea y problema resuelto, porque es mejor escrbir 6 que Junio. Mis saludos >> Jacinto

el cuadro de lista donde se escoge el mes también lo utilizo para llenar un espacio en el informe que requiere el nombre del mes, ahora  i pregunta es se podría crear un cuadro de texto que al escribir en el cuadro de lista el mes en letras el cuadro de texto reciba el valor del mes  y así escoger el cuadro de texto para la consulta.

ejemplo

 si escribo  Enero en el Cuadro de lista que el cuadro de texto se llene automáticamente con el 1 y así sucesivamente, la primera Respuesta  que me das no la entendí muy bien, no soy muy diestro en programación.

este es el formulario que uso para generar el reporte

Benjamin: No necesitas controles adicionales. Si ese ComboBox que tienes lo alimentas desde una Tablita con el Número de Mes y el Nombre ya tienes el mes en Número.

El Combo lo tienes que configurar como >> Columna dependiente 1, Numero de columnas 2, Ancho de las Columnas 0cm;5cm.

Tu verás el Nombre pero discrimina por el Número.

Private Sub Report_Open(Cancel As Ineger)
Dim Frm As Access.Form
Dim FiltroMes As String,FiltroAño As String
Set Frm = Forms!NombreDeTuFormulario.Form
FiltroMes = "Mes = " & Frm.CboMes.Column(0)
FiltroAño = "Año = " & Frm.Año
Me.Filter = FiltroMes & " AND " & FiltroAño
Me.FilterOn = True
End Sub

El CboMes es el Nombre de tu ComboBox. Mis saludos >> Jacinto

¡Gracias! 

voy a probar y luego te comento como me fue

Muchas Gracias

hice o que me sugieres pero no me hace nada, no se que estoy haciendo mal, te voy a enviar la base de datos para que puedas orientarme mejor gracias por tu ayuda

De acuerdo Benjamín. Un saludo >> Jacinto

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas