Quitar filtro de un solo campo - Access

Si abro un informe con varios filtros al cargar.

Luego quiero poner un botón en el informe para Quitar el filtro de un solo campo. (En este caso es un campo verdadero/falso)

Puede ser por macro o código. ¿Qué recomiendan?

1 Respuesta

Respuesta
2

Te propongo dos soluciones, ambas por código:

1º/ Si el campo que quieres quitar del filtro (por ejemplo Casado) siempre es el último en el filtro (por ejemplo tienes este tipo de filtro:  [Edad]=44  AND [Continente]='África' AND [Casado]=-1)

El código de tu botón sería:

Private Sub Boton_Click()
On Error GoTo sol_err
Dim miFiltro As String
miFiltro = Me.Filter
miFiltro = Left(miFiltro, InStr(miFiltro, "AND [Casado]") - 1)
Me.Filter = miFiltro
Me.FilterOn = True
sol_err:
End Sub

2º/ Si por cómo construyes el filtro no sabes en qué posición estará el campo, has de usar este otro código:

Private Sub Boton_Click()
Dim miFiltro As String
Dim mFiltro() As String
miFiltro = Me.Filter
mFiltro = Split(miFiltro, "AND")
'Reinicias el filtro
miFiltro = ""
'Lo construyes de nuevo sin el campo
For i = 0 To UBound(mFiltro)
    If Not mFiltro(i) Like "*Casado*" Then
        miFiltro = miFiltro & " AND " & mFiltro(i)
    End If
Next i
'Quitas el primer AND
miFiltro = Right(miFiltro, Len(miFiltro) - 5)
Me.Filter = miFiltro
Me.FilterOn = True
End Sub

Este 2º código te funcionará también para el primer caso.

Me dices si te sirve.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas