Access, ¿Cómo hacer una consulta masiva?

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.

1 Respuesta

Respuesta
1
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.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas