Filtrar datos de un formulario con subformulario incorporados de tablas vinculadas de otras bases de datos
Dispongo de un formulario que filtrar datos de una tabla según una serie de campos, quiero incorporar a este formulario otro subformulario, en este caso de una tabla vinculada de otra base de datos. Cómo debería modificar el siguiente código para que el filtrado me afectase a ese subformulario:
El nombre del subformualrio es seguimiento de reclamaciones y la tabla vinculada seguimiento de reclamaciones.
Function FiltraDatos()
'Variables de Cadena.
On Error GoTo FiltraDatos_TratamientoErrores
'Antes de comenzar a filtrar pongo el FiltroTotal a "" para evitar algún dato Residual
FiltroTotal = ""
'Construyo la cadena para filtrar por Texto
If Not IsNull(Me.Texto) And Me.Texto <> "" Then
FiltroTexto = "Denominacion LIKE '*" & Me.Texto & "*'"
Else
FiltroTexto = ""
End If
'Construyo la cadena para filtrar por ClaveIncidencia
If Not IsNull(Me.CboN01) And Me.CboN01 <> "" Then
Filtro01 = "[ClaveIncidencia] = '" & Me.CboN01.Column(0) & "'"
Else
Filtro01 = ""
End If
'Construyo la cadena para filtrar por Turno
If Not IsNull(Me.CboN02) And Me.CboN02 <> "" Then
Filtro02 = "[Turno] = '" & Me.CboN02.Column(0) & "'"
Else
Filtro02 = ""
End If
'Construyo la cadena para filtrar por Producto
If Not IsNull(Me.CboN03) And Me.CboN03 <> "" Then
Filtro03 = "[Responsable] = '" & Me.CboN03.Column(0) & "'"
Else
Filtro03 = ""
End If
'Construyo la cadena para filtrar por Año
If Not IsNull(Me.CboAño) And Me.CboAño <> "" Then
FiltroAño = "[Año] = " & Me.CboAño ' No necesita columna porque solo tiene una
Else
FiltroAño = ""
End If
'Construyo la cadena para filtrar por Mes
If Not IsNull(Me.CboMes) And Me.CboMes <> "" Then
FiltroMes = "[NumMes] =" & Me.CboMes.Column(0)
Else
FiltroMes = ""
End If
'Construyo la cadena para filtrar por Fecha
If IsNull(Me.DesdeFecha) And IsNull(Me.HastaFecha) Then
FiltroFechas = ""
Else
FiltroFechas = "FechaIncidencia BETWEEN #" & Format(Nz(Me.DesdeFecha, #1/1/1900#), "mm-dd-yyyy") & _
"# AND #" & Format(Nz(Me.HastaFecha, #12/31/9999#), "mm-dd-yyyy") & "#"
End If
'Construyo el FiltroTotal según el valor de los parciales. FiltroTotal se enviará al subformulario. Construcción por concatenación con " AND "
If FiltroTexto <> "" Then
FiltroTotal = FiltroTexto
End If
If Filtro01 <> "" Then
If FiltroTotal <> "" Then
FiltroTotal = FiltroTotal & " AND " & Filtro01
Else
FiltroTotal = Filtro01
End If
End If
If Filtro02 <> "" Then
If FiltroTotal <> "" Then
FiltroTotal = FiltroTotal & " AND " & Filtro02
Else
FiltroTotal = Filtro02
End If
End If
If Filtro03 <> "" Then
If FiltroTotal <> "" Then
FiltroTotal = FiltroTotal & " AND " & Filtro03
Else
FiltroTotal = Filtro03
End If
End If
If FiltroAño <> "" Then
If FiltroTotal <> "" Then
FiltroTotal = FiltroTotal & " AND " & FiltroAño
Else
FiltroTotal = FiltroAño
End If
End If
If FiltroMes <> "" Then
If FiltroTotal <> "" Then
FiltroTotal = FiltroTotal & " AND " & FiltroMes
Else
FiltroTotal = FiltroMes
End If
End If
If FiltroFechas <> "" Then
If FiltroTotal <> "" Then
FiltroTotal = FiltroTotal & " AND " & FiltroFechas
Else
FiltroTotal = FiltroFechas
End If
End If
'A partir de aquí, si la variable FiltroTotal no está vacía se la aplicamos al Subformulario
If FiltroTotal <> "" Then
'Asignamos la varaible a la propiedad Filter del subformulario. NOTA: Aquí da error si no encuentra ningún registro
Me.Filter = FiltroTotal
'Le decimos al subformulario que active el filtro que previamente hemos asignado. NOTA: Aquí da error si no encuentra ningún registro
Me.FilterOn = True
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