Filtros por años en access

Tengo un formulario basado en una tabla donde se registran productos almacenados, empresas a los que pertenecen y la fecha de expedición en formato dd/mm/aaaa.
Tengo dos campos combinados para filtrar los datos, uno por empresas y otro por años. El filtro de empresas funciona bien, seleecciono la empresa en el desplegable y me filtra los productos que esa empresa ha retirado, pero al filtrar los años para saber cuantos se han retirado en el periodo de un año en concreto me da "error 2001 en tiempo de ejecución".
El origen de la fila es "SELECT Year([FRet]) AS Año FROM [MA Registro Residuos] GROUP BY Year([FRet]) ORDER BY Year([FRet]) DESC;" con lo que consigo que el desplegable muestre solamente los años, y al seleccionar el año no me muestra los registros de ese año que es lo que necesito.
El código que tengo es:
Private Sub Cuadro_combinado23_AfterUpdate()
 ' Buscar el registro que coincida con el control.
Me.FilterOn = False
Me.Filter = "Empresa='" & Me.Cuadro_combinado23 & "'"
Me.FilterOn = True
End Sub
Private Sub Cuadro_combinado23_Click()
 Me.Refresh
End Sub
Private Sub Cuadro_combinado35_AfterUpdate()
    ' Buscar el registro que coincida con el control.
Me.Cuadro_combinado23.Requery
Me.FilterOn = False
Me.Filter = "Fret='" & Me.Cuadro_combinado35 & "'"
Me.FilterOn = True
End Sub
Private Sub Cuadro_combinado35_Click()
 Me.Refresh
End Sub
Donde "cuadro_combinado23 es de las empresas que funciona bien y el 35 es el que falla.

1 respuesta

Respuesta
1
Me.Filter = "Fret='" & Me.Cuadro_combinado35 & "'"
Si el cuadro combinado te devuelve el año ¿cómo lo igualas a la fecha? Lo tendrías que igualar al año de Fret.
Me cuentas.
Hola,
He copiado el código que me has dado y me sigue apareciendo el "error 2001 en tiempo de ejecución"
A ver si consigo aclararte como tengo la aplicación
1,- En el campo [Fret] meto fechas de retirada tipo 01/01/2011 etc.
2,- el campo combinado coge los datos del campo [Fret] y me da los años, por lo que muestra 2008, 2009, 2010...
Yo filtro primero por empresas y al aplicar el segundo filtro para que me muestre las retiradas en un año concreto me da el error.
Cuando le doy al depurador se queda en la linea:
Me.FilterOn = True
Gracias por tu tiempo
Lo que quise decir es que estás igualando un campo fecha FRet a un cuadro combinado que te da el año.
Tendrías que poner:
Me.Filter = "Year([Fret])='" & Me.Cuadro_combinado35 & "'"

Añade tu respuesta

Haz clic para o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.

Más respuestas relacionadas