Hola.. Necesito establecer un query

Hola necesito crear una búsqueda dinámica, es decir que el usuario ingrese varios campos(que no necesariamente pertenecen a la misma tabla)y dependiendo de los que sean resulte la búsqueda.
Ej: Cuadro text1: ID_parcela
Cuadro text2: ID_propietario
Cuadro text3: tipo
Cuadro text4: ubicación etc...
Tengo actualmente una idea de crear un query concatenando SELECT con WHERE para crear el query pero el código parce que no esta bien establecido. Si pudieras sugerirme algo te lo agradecería. Muchas gracias
1

1 Respuesta

84.325 pts. Experto en Microsoft Access y SQL Server
Ejemplo de Soluciones.mdb de Access 97: ¿La función (agregaradonde) se refiere a "agregar a where" (' Crear criterio para la cláusula WHERE) en definitiva seleccionar por un número de campos variable?
Sub agregarADónde (valCpo As Variant, nomCpo As String, Crit As String, ctArg As Integer)
If valCpo <> "" Then
If ctArg > 0 Then
Crit = Crit & " AND "
End If
Crit = (Crit & nomCpo & " Like " & Chr(39) & valCpo & Chr(42) & Chr(39))
ctArg = ctArg + 1
End If
End Sub
Gracias, por favor si puedes aclararme... lo que hiciste es una función que debo agregar al código clic del botón que ejecuta el query, ¿definiendo dentro de ella el WHERE? Ya que te muestro la idea que tengo
Primero:'Se comienza a armar el query de la consulta
Dim strQuery As String
strQuery = "SELECT (aqui el SQL del SELECT de los campos que deseo buscar haciendo select con inner join etc)
Segundo:'Se construye el WHERE de la consulta con base en los criterios seleccionados
Dim strWhere As String
str="WHERE "
'Aqui coloco las condiciones que por cierto creo que no especifico bien la condición que: ifelvaloringresadoalcontroltexto=alorigendedatosdelcontroltexto
Tercero:
strQuery = strQuery & strWhere
Por último no sé como ejecutar el query para que el resultado de la búsqueda aparezca en una lista en el mismo formulario o en otro quizá..
Muchiiisimas gracias por lo que puedas!
Para que el query aparezca en un control lista:
me.controllista.rowsource=strQuery
Para armar el where:
AgregarADónde (me.ID_parcela, "id_parcela", strwhere, 1)
agregarADónde (me.ID_propietario, "id_propietario", strwhere, 1)
agregarADónde (me. Tipo, "tipo", strwhere, 1)
agregarADónde (me. Tipo, "tipo", strwhere, 0)
La subrutina agregarADónde es lo único que está fuera del código de tu botón

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas