Access - Filtros en Acces con VB

   
Vista:

Filtros en Acces con VB

Publicado por Rosendo (2 intervenciones) el 17/04/2017 22:46:25
Buen día:

Estoy tratando de utilizar filtros, en un formulario de Access junto con un subformulario al aplicar el primer filtro desde un botón lo hace perfectamente, pero cuando quiero volver a filtrar la información desde otro campo el primer filtro que aplique se pierde ¿Cómo puedo hacer para que yo pueda aplicar los filtros y me respete los anteriores?

Este es el codigo que estoy utilizando:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub bautor_Click()
Dim fautor As String
fautor = "Autor LIKE'*" & Me.tautor & "*'"
Me.buscar.Form.Filter = fautor
Me.buscar.Form.FilterOn = True
End Sub
 
Private Sub bobra_Click()
Dim fobra As String
fobra = "Obra LIKE'*" & Me.tobra & "*'"
Me.buscar.Form.Filter = fobra
Me.buscar.Form.FilterOn = True
End Sub
 
Private Sub brubro_Click()
Dim frubro As String
frubro = "Rubro LIKE'*" & Me.trubro & "*'"
Me.buscar.Form.Filter = frubro
Me.buscar.Form.FilterOn = True

De antemano muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Norberto

Filtros en Acces con VB

Publicado por Norberto (509 intervenciones) el 24/04/2017 15:16:23
Hola.

Prueba a hacer lo siguiente (te pongo el ejemplo para un filtro y lo adaptas para los demás):

1
2
3
4
5
6
7
8
9
10
11
12
Private Sub bautor_Click()
    Dim fautor As String, filtro As String
    'Vamos a ver si este filtro ya está aplicado
    filtro = Me.buscar.Form.Filter
    If InStr(1, filtro, "Autor") = 0 Then 'No está aplicado
        fautor = "Autor LIKE'*" & Me.tautor & "*'" 'Lo preparamos
        filtro = filtro & IIf(filtro = "", "", " And ") & fautor 'Y lo unimos al ya existente
        Me.buscar.Form.Filter = filtro  'Lo aplicamos
        Me.buscar.Form.FilterOn = True
    End If
 
End Sub

Un saludo,

Norberto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Filtros en Acces con VB

Publicado por Rosendo (2 intervenciones) el 24/04/2017 16:04:20
Gracias por la respuesta, ya lo probe pero me marca un error, este el procedimiento que estoy realizando:
Boton 1:

1
2
3
4
5
6
7
8
Dim fautor As String, filtro As String
filtro = Me.buscar.Form.Filter
If InStr(1, filtro, "Autor") = 0 Then
    fautor = "Autor LIKE'*" & Me.texto0 & "*'"
    filtro = filtro & IIf(filtro = "", "", " And ") & fautor
    Me.buscar.Form.Filter = filtro
    Me.buscar.Form.FilterOn = True
End If

Boton 2

1
2
3
4
5
6
7
8
Dim frubroAs String, filtro As String
filtro = Me.buscar.Form.Filter
If InStr(1, filtro, "Rubro") = 0 Then
    frubro = "Rubro LIKE'*" & Me.texto2 & "*'"
    filtro = filtro & IIf(filtro = "", "", " And ") & frubro
    Me.buscar.Form.Filter = filtro  'Lo aplicamos
    Me.buscar.Form.FilterOn = True
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Norberto

Filtros en Acces con VB

Publicado por Norberto (509 intervenciones) el 25/04/2017 11:38:51
Hola.

¿Qué error y dónde?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar