Sandro: En el Evento AfterUpdate del ComboBox.
Supuestos:
El Combo tiene el Nombre>> CboDepartamentos, con dos Columnas
Primera >> CódigoDpto Numérico >> CampoTabla: IdDepartamento
Segunda >> NombreDepartamento de Tipo Texto (lógico)
El TextBox tiene el Nombre >> Txt01. De Tipo Númerico >> CampoTabla: AÑO
Declara éstas variables en la cabecera del Módulo del Formulario de Busqueda
Dim FiltroTotal As String, FiltroText As String, FiltroCombo As String
‘Comienza el código asegurando que el TextBox tenga un dato y el Combo también
FiltroTotal = ""
If Not IsNull(Me.Txt01) And Me.Txt01 <> "" Then
FiltroText = "AÑO = “ & Me.Txt01.Value
Else
FiltroText = ""
End If
If Not IsNull(Me.CboDepartamentos) And Me.CboDepartamentos <> "" Then
FiltroCombo = "IdDepartamento = “ & Me.CboDepartamentos.Column(0)
Else
FiltroCombo = ""
End If
‘Construyendo el Filtro
If FiltroText <> "" Then
FiltroTotal = FiltroText
End If
If FiltroCombo <> "" Then
If FiltroTotal <> "" Then
FiltroTotal = FiltroTotal & " AND " & FiltroCombo
Else
FiltroTotal = FiltroCombo
End If
End If
‘Aplicando el Filtro
'Y a partir de aquí, si la variable FiltroTotal no está vacía se la aplicamos al Formulario/SubFormulario
If FiltroTotal <> "" Then
'Asignamos la varaible a la propiedad Filter del Formulario/subformulario
Me.Filter = FiltroTotal ‘ o el SubFormulario
Me.FilterOn = True ‘O el SubFormulario
Else
'Si la variable está en blanco nos indica que no hay seleccionados ningún filtro y por tanto lo desactivamos
Me.FilterOn = False
End If
Y ahora necesitarás un Botón para anular el filtro escrito
En el evento Click
Me.Filter = “”
Me.FilterOn = False
Me.CboDepartamentos = Null
Me.Txt01 = Null
Me. Filter
Ya me comentarás como te fue. Saludos >> Jacinto