Como hacer que se acumulen los filtros de 2 botones en un formulario Acces

Hace años que trabajo (hobby) en una base para películas, series, etc.

En un formulario llamado "Ficha" tengo 3 botones (entre otros):

- Uno (llamado "Visto") filtra en el campo "estado" los registros que en este campo contengan el texto "Acabado".

- Otro (llamado "Tipo series") filtra en el campo "categoria" los registros que en este campo contengan el texto "serie".

- Un tercero (llamado "Tipo películas") filtra en el campo "categoria" los registros que en este campo contengan el texto "película".

Cada botón tiene una macro incrustada "al hacer clic", con la acción "abrir formulario" y el texto a buscar en la "condición WHERE"...

Funciona perfectamente, el problema es que si pulso el botón "tipo series" y después el botón "tipo películas", los registros del primer botón ya no se muestran y aparecen solo los del segundo botón... Es decir... Que no se como hacer para que acumule los filtros... Tal y como se puede hacer cuando se usa la opción de filtros del propio Access usando el botón derecho del ratón dentro de los campos.

1 Respuesta

Respuesta
2

En el módulo asociado al formulario, debajo de Option ... pon

Dim miFiltro as String

Código para el primer botón:

If len(miFiltro)>0 then

miFiltro=miFiltro & " AND [Estado]='Acabado'"

Else

miFiltro = "Estado='Acabado'"

End If

Me.Filter=miFiltro

Me.FilterOn=True

Código para el segundo botón:

If len(miFiltro)>0 then

miFiltro=miFiltro & " AND [Categoria]='serie'"

Else

miFiltro = "[Categoria]='serie'"

End If

Me.Filter=miFiltro

Me.FilterOn=True

Código para el tercero:

If len(miFiltro)>0 then

miFiltro=miFiltro & " AND [Categoria]='película'"

Else

miFiltro = "[Categoria]='película'"

End If

Me.Filter=miFiltro

Me.FilterOn=True

Un saludo


Añade tu respuesta

Haz clic para o

Más respuestas relacionadas