He ingresado los parámetros de búsqueda o criterios para poder filtrar los registros, usando para el caso dos formularios distintos para lo cual he realizado un formulario de parámetros, y otro con la consulta con criterios haciendo referencia al formulario de parámetros. Ej: forms! Formulario1! Texto3. El problema es que al efectuar la consulta, el criterio de búsqueda se rige estrictamente a lo escrito en las cajas de texto pero a mi me interesa realizar una consulta masiva, o sea que pudiera utilizar un * y obtener todos los campos o hacerlo de otra manera mejor.
Te adjunto un código en el cual: subformulario_nombre = un subformulario Txtnpol = campo de texto en el formulario cópialo tal cual y lo pegas en el código de VBA de access, allí lo verás mejor. 'AQUÍ EMPIEZA TODO LO QUE HAS DE COPIAR '-------------------------------- 'en un botón ponle al envento_clic() consulta para que vaya a la función que es la esencial que te escribo debajo Private Function consulta() ' Dimensionamos las variables de las funciones Dim strcompania As String Dim wheresql As String Dim strfullsql As String strcompania = incluirparametros() ' se llama al procedimiento para crear la consulta strWhereSQL = "Where " & strcompania If strWhereSQL <> "Where " Then strWhereSQL = strWhereSQL & " and " End If 'strfullsql es la sentencia que le pasamos. msgbox strfullsql ' te muestra la cadena strfullsql = "Select * From nombre_consulta " & strWhereSQL 'subformulario_nombre subformulario_nombre.Form.RecordSource = strfullsql doevents end sub ---------------------- Private Function incluirparametros() As String If Not IsNull(TXTNPOL) And Not IsEmpty(TXTNPOL) Then Dim poliza As String If Left(TXTNPOL, 1) = "*" And Right(TXTNPOL, 1) = "*" Then incuirparametros = Mid(TXTNPOL, 2, Len(TXTNPOL) - 2) incuirparametros = "([pol_numpoliza]) like '*" & poliza & "*'" ElseIf Right(TXTNPOL, 1) = "*" Then incuirparametros = Left(TXTNPOL, Len(TXTNPOL) - 1) incuirparametros = "([pol_numpoliza]) like '" & poliza & "*'" ElseIf Left(TXTNPOL, 1) = "*" Then poliza = Right(TXTNPOL, Len(TXTNPOL) - 1) incuirparametros = "([pol_numpoliza]) like '*" & poliza & "'" ElseIf Left(TXTNPOL, 1) <> "*" And Right(TXTNPOL, 1) <> "*" Then incuirparametros = "([pol_numpoliza]) = '" & TXTNPOL & "'" End If End If End Function '______________ 'AQUÍ ACABA TODO LO QUE HAS DE COPIAR '------------------------------------- Si no te aclaras te envío un ficheor mdb con una muestra. Deberías darme tu email para enviártelo. Contestame y me dices algo. Quiero ayudarte en cuanto pueda. No te preocupes por preguntar. Un saludo Suerte. Vic.