Búsqueda Avanzada, varios criterios, access
Vuelvo a este tema, sobre el cual había consultado tiempo atrás (Formulario de consulta con varios criterios) y esta vez para solicitar de su muy valiosa ayuda en cuanto a lo siguiente...
Tengo este código en el boton_buscar de mi formulario de busqueda por varios criteros (8 textbox para datos de texto y 2 textbox para datos de fecha), proporcionado por el experto Sveinbjorn El Rojo y adaptado a mi bd, que funciona de maravillas:
Private Sub consulta_busqueda_Click() Dim miSQL As String Dim miFiltro As String 'Inicias la parte común de la SQL (la que coge todos los registros) miSQL = "SELECT * FROM CARGA_DE_DATOS_RCSL_2015 " 'Fijate que hay un espacio antes de las comillas de cierre 'Inicias el filtro miFiltro = "WHERE " 'Fijate que hay un espacio antes de las comillas de cierre 'Analizas el primer cuadro de filtro (campo de tipo texto) If Nz(Me.txt_STR, "") <> "" Then miFiltro = miFiltro & "[STR]='" & Me.txt_STR & "' AND " End If 'Analizas el segundo cuadro de filtro (campo de tipo texto) If Nz(Me.txt_EJERCICIO_FISCAL, "") <> "" Then miFiltro = miFiltro & "[EJERCICIO FISCAL]='" & Me.txt_EJERCICIO_FISCAL & "' AND " End If 'Analizas el tercer cuadro de filtro (campo de tipo texto) If Nz(Me.txt_MES, "") <> "" Then miFiltro = miFiltro & "[MES_LISTA]='" & Me.txt_MES & "' AND " End If 'Analizas el cuarto cuadro de filtro (campo de tipo texto) If Nz(Me.txt_FF, "") <> "" Then miFiltro = miFiltro & "[FF]='" & Me.txt_FF & "' AND " End If 'Analizas el quinto cuadro de filtro (campo de tipo texto) If Nz(Me.txt_RUBRO, "") <> "" Then miFiltro = miFiltro & "[RUBRO_descripcion]='" & Me.txt_RUBRO & "' AND " End If 'Analizas el sexto cuadro de filtro (campo de tipo texto) If Nz(Me.txt_TIPO_PROG_SUBPROG, "") <> "" Then miFiltro = miFiltro & "[TIPO_PROG_SUBPROG]='" & Me.txt_TIPO_PROG_SUBPROG & "' AND " End If 'Analizas el septimo cuadro de filtro (campo de tipo texto) If Nz(Me.txt_OBLIGACION, "") <> "" Then miFiltro = miFiltro & "[OBLIGACION]='" & Me.txt_OBLIGACION & "' AND " End If 'Analizas el octavo cuadro de filtro (campo de tipo texto) If Nz(Me.txt_CARGADO_POR, "") <> "" Then miFiltro = miFiltro & "[CARGADO POR]='" & Me.txt_CARGADO_POR & "' AND " End If 'Analizas el noveno cuadro de filtro (campo de tipo fecha) If Nz(Me.txt_fecha_desde, -1) <> -1 Then miFiltro = miFiltro & "[FECHA DE CARGA]=#" & Format(Me.txt_fecha_desde, "mm/dd/yyyy") & "# AND " End If 'Quitas el último AND If Len(miFiltro) > 6 Then miFiltro = Left(miFiltro, Len(miFiltro) - 5) Else MsgBox "No has seleccionado ningún campo para filtrar" Exit Sub End If 'Construyes la SQL Completa para el cuadro de lista miSQL = miSQL & miFiltro 'Se la asignas al cuadro de lista Me.Lista_RESULTADO.RowSource = miSQL Me.Lista_RESULTADO.Requery End Sub
Las cuestiones son:
1- Este código solo realiza la busqueda en la tabla principal pero yo necesito realizarla tambien en la tabla relacionada, pues dos textbox de los criterios se refieren a datos de ésa tabla.
2- La búsqueda de fechas me la realiza de acuerdo al dato introducido en txt_fecha_desde y funciona pero necesito que además busque un rango de fechas al introducir los parametros tanto en txt_fecha_desde como en txt_fecha_hasta.
¿Podrían brindarme su ayuda en este tema please?.