16/02/2010, 19:33
|
| | Fecha de Ingreso: febrero-2008
Mensajes: 101
Antigüedad: 16 años, 9 meses Puntos: 1 | |
Problema: Boton en formulario Hola, tengo el siguiente codigo que activa un boton en un formulario para aplicar un filtro
Código:
Private Sub CmdFiltro_Click()
Dim VarFiltro As String
If Nz(Me.Combo1, "") = "" And Nz(Me.Combo2, "") = "" Then
MsgBox "Seleccione al menos una campo en alguno de los combos de Seleecion de campos", vbInformation, "CAMPOS SIN SELECCIONAR"
Exit Sub
End If
If Nz(Me.Texto1, "") = "" And Nz(Me.Texto2, "") = "" Then
MsgBox "Introduzca al menos una criterio en alguno de los Cudros de texto", vbInformation, "CAMPOS SIN CRITERIO DE BUSQUEDA"
Exit Sub
End If
'En este caso, se usaran los dos combos para la busqueda
If Nz(Me.Combo1, "") <> "" And Nz(Me.Combo2, "") <> "" And Nz(Me.Texto1, "") <> "" And Nz(Me.Texto2, "") <> "" Then
If Nz(Me.Operador, "") = "" Then
MsgBox "Seleccione en el combo Operador un criterio de busqueda", vbInformation, "SIN OPERADOR"
Exit Sub
Else
'Construimos el filtro
VarFiltro = Me.Combo1 & " like '*" & Me.Texto1 & "*' "
If Me.Operador.Column(1) = "NOT" Then
VarFiltro = VarFiltro & " AND " & Me.Combo2 & " NOT LIKE '*" & Me.Texto2 & "*'"
Else
VarFiltro = VarFiltro & Me.Operador.Column(1) & " " & Me.Combo2 & " LIKE '*" & Me.Texto2 & "*'"
End If
End If
Else
'Solo aplicaremos el filtro sobre el operador que esten rellenos los dos controles
If Nz(Me.Combo1, "") <> "" And Nz(Me.Texto1, "") <> "" Then
VarFiltro = Me.Combo1 & " LIKE '*" & Me.Texto1 & "*'"
ElseIf Nz(Me.Combo2, "") <> "" And Nz(Me.Texto2, "") <> "" Then
VarFiltro = Me.Combo2 & " LIKE '*" & Me.Texto2 & "*'"
Else
MsgBox "No se aplicara ningun filtro", vbInformation, "SIN FILTRO"
End If
End If
'Aplicamos el filtro
Me.NombreTabla.Form.Filter = VarFiltro
Me.NombreTabla.Form.FilterOn = True
End Sub
Private Sub Comando15_Click()
Me.NombreTabla.Form.Filter = ""
Me.NombreTabla.Form.FilterOn = False
End Sub
Este codigo me lo robe de otra consulta/formulario que hacia algo similar. Lo unico que hice es cambiar los datos del subformulario que se muestra en el formulario y que es donde se aplica el filtro y en teoria deberia cambiar tambien el nombre de la tabla que en mi caso es una consulta... supongo que entienden... sin embargo al aplicar el filtro me arroja un error 3075, pero las unicas referencias que he encontrado para solucionarlo son para SQL y no para Visual Basic... si alguien puede explicarme como solucionarlo... se lo agradeceria
JOKEROBSCURO |