Access - Formulario busqueda por criterios

   
Vista:

Formulario busqueda por criterios

Publicado por Juan (3 intervenciones) el 19/10/2010 11:07:19
Hola.
Estoy intentando crear un formulario para realizar búsquedas por varios campos.
Lo que pretendo es realizar mediante código lo mismo que haría un "filtro por formulario".

He creado la consulta para que tome los valores correspondientes a los campos del formulario.

Funciona perfectamente si relleno todos los campos del formulario, pero si dejo alguno en blanco la consulta no arroja ningún resultado.

Buscando por aqui, veo que en su momento el forero Enrique facilitó un ejemplo de cómo hacerlo, pero el enlace ya no funciona.

Os agradecería que si alguien lo tiene me lo pueda facilitar.

Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Formulario busqueda por criterios

Publicado por pepe (67 intervenciones) el 20/10/2010 00:37:11
El problema seguramente está en que realizas la consulta con todos los parámetros de filtro: "WHERE Campo1=" & Control1.Value & " AND Campo2=" & Control1.Value & " ....

Una solucion puede ser:

Dim SQL as string

SQL = "SELECT Tabla1.* FROM Tabla1 WHERE "

if Control1.Value<>"" then
SQL = SQL & "Campo1=" & Control1.Value & " AND "
end if
if Control2.Value<>"" then
SQL = SQL & "Campo2=" & Control2.Value & " AND "
end if
...
...
if ControlN.Value<>"" then
SQL = SQL & "CampoN=" & ControlN.Value & "AND "
end if

SQL = SQL & "CampoClave<>NULL"

De esta manera, solo se filtrarán los campos para los que se haya establecido filtro. Si no se establece ningún filtro, la clausula WHERE se ejecutará correctamente con la ultima condición añadida "CampoClave<>NULL" que no debe filtrar nada ya que el cambio de clave principal nunca puede ser NULL. Esta última condición evita problemas con los diferentes AND añadidos o en el caso de que no haya ningún filtro.

Existen otras posibilidades de resolver el problema, pero pienso que esta es más facil de entender sin necesidad de añadir más código.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formulario busqueda por criterios

Publicado por Juan (3 intervenciones) el 20/10/2010 16:57:03
Gracias Pepe.
Comprendo el sentido del código que me facilitas pero estoy algo pez en SQL y no sé como implementarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Formulario busqueda por criterios

Publicado por QUIQUE (293 intervenciones) el 20/10/2010 15:47:30
Quizás te sirva este ejemplo

http://cid-ccb878ae4ff946b4.skydrive.live.com/home.aspx.

QUIQUE
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Creo que este es el Link

Publicado por QUIQUE (293 intervenciones) el 20/10/2010 16:07:29
A ver si es este el Link correcto.

http://cid-ccb878ae4ff946b4.office.live.com/self.aspx/.Public/busquedaCriteriosVarios.rar

quique
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Creo que este es el Link

Publicado por Juan (3 intervenciones) el 20/10/2010 16:58:20
Gracias Quique.
Es exactamente lo que buscaba.

Sois unos campeones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Formulario busqueda por criterios - ejemplo Quique

Publicado por cpjcarlos (14 intervenciones) el 02/10/2012 16:57:44
Buen día me podrías pasar tu ejemplo por favor ya que actualmente este link no funciona.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar