Access: Filtrado por textbox en varias BD
De nuevo expertos. Como siempre, gracias de antemano por su tiempo. He aquí mi nueva inquietud. Siguiendo con mi formulario que filtra en un listbox lo escrito en un textbox, como podría hacerlo de manera avanzada, o sea, filtrar el listbox con varios textbox. Ya lo había conseguido en otro proyecto, pero ahora, la "búsqueda" debe ser realizada en otras bases de datos que tienen igual estructura. Las rutas de esas BD se encuentran en la tabla local "DireccionesBDDs". He probado con este código pero no hace nada, adaptado de otro proyecto y no he podido:
Private Sub cmd_buscar_Click()
DoCmd.SetWarnings False
Dim FiltroDocumento As String
Dim FiltroApellidos As String
Dim FiltroNombres As String
Dim FiltroDomicilio As String
Dim FiltroTelefono As String
Dim FiltroOtros_Datos As String
Dim FiltroTodos As String
Dim IntCaractFiltro As Integer
FiltroDocumento = Nz(Me.txt_documento.Value, "")
FiltroApellidos = Nz(Me.txt_apellidos.Value, "")
FiltroNombres = Nz(Me.txt_nombres.Value, "")
FiltroDomicilio = Nz(Me.txt_domicilio.Value, "")
FiltroTelefono = Nz(Me.txt_telefono.Value, "")
FiltroOtros_Datos = Nz(Me.txt_otros_datos.Value, "")
FiltroTotal = ""
If FiltroDocumento <> "" Then
FiltroTotal = "AND [Documento]='" & FiltroDocumento & "'"
End If
If FiltroApellidos <> "" Then
FiltroTotal = FiltroTotal & "AND [Apellidos]='" & FiltroApellidos & "'"
End If
If FiltroNombres <> "" Then
FiltroTotal = FiltroTotal & "AND [Nombres]='" & FiltroNombres & "'"
End If
If FiltroDomicilio <> "" Then
FiltroTotal = FiltroTotal & "AND [Domicilio]='" & FiltroDomicilio & "'"
End If
If FiltroTelefono <> "" Then
FiltroTotal = FiltroTotal & "AND [Telefono]='" & FiltroTelefono & "'"
End If
If FiltroOtros_Datos <> "" Then
FiltroTotal = FiltroTotal & "AND [Otros_datos]='" & FiltroOtros_Datos & "'"
End If
IntCaractFiltro = Len(FiltroTotal)
If IntCaractFiltro > 0 Then
FiltroTotal = Right(FiltroTotal, IntCaractFiltro - 4)
End If
Set Datos = CurrentDb.OpenRecordset("DireccionesBDDs")
Do Until Datos.EOF
CurrentDb.Execute "insert into Aux(Fecha, Apellidos, Nombres, Documento, Domicilio, Telefono, Otros_Datos) select Fecha, Apellidos, Nombres, Documento, Domicilio, Telefono, Otros_Datos from Datos in '" & Datos!Ruta & "' where " & FiltroTotal
Datos.MoveNext
Loop
Lista2.RowSource = "select Fecha, Apellidos, Nombres, Documento, Domicilio, Telefono, Otros_Datos from Aux where " & FiltroTotal
End Sub
1 respuesta
Respuesta de Sveinbjorn El Rojo
2