Visual Basic - consulta sql con varios filtros

Life is soft - evento anual de software empresarial
   
Vista:

consulta sql con varios filtros

Publicado por nato (5 intervenciones) el 26/04/2017 20:59:20
hola gracias de antemano

estoy empezando un sistema para la empresa en la que laboro pero me atore en este detalle estoy programando en visual estudio 2015 y sql server

tengo un formulario para búsqueda de productos y tiene estos texbox

codigo
clave
descripcion
material
forma
modelo
medida
color
un un picturebox (mostrara la foto del producto)


lo que quiero que haga es que el cliente al colocar material y forma busque los productos del material que escribió el cliente pero ademas la forma que se escribió y asi cada una de las combinaciones de los texbox
cual seria la forma mas practica de hacer

lo que tenia pensado es hacerlo con sentencias if pero las combinaciones son muchas, me gustaria me dieran una orientación o forma de hacerlo mas practico

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
Imágen de perfil de Antoni Masana

consulta sql con varios filtros

Publicado por Antoni Masana (190 intervenciones) el 26/04/2017 21:27:25
No soy el más apropiado para responder pero te cuento lo que se que no es mucho.

Para la búsqueda en SQL tienes que formar una cadena de texto. Si estamos de acuerdo hasta aquí seguimos.

No recuerdo los instrucción de busquera. ni la sintaxis y me perdonas porque voy a invertarla para explicar la idea.

1
2
3
4
5
6
Texto="FIND "
IF Codigo.Text <> "" then Texto = Texto + "Codigo.Text = db.Codigo  AND "
IF Clave.Text  <> "" then Texto = Texto + "Clave.Text = db.Clave AND "
...
IF Medida.Text <> "" then Texto = Texto + "Medida.Text = db.Medida AND "
IF Color.Text  <> "" then Texto = Texto + "Color.Text = db.Color AND "

Supongamos que pone el Codigo, la Forma y el Color. El contenido de la variable Texto seria este:

1
FIND Codigo.Texto = db.Codigo  AND Codigo.Texto = db.Codigo  AND Color.Texto = db.Color AND

y ahora sobra el ultimo AND y lo quitamos.

1
Texto = Right$(Texto, len(Texto)-4)

Ahora añades las instrucciones del final. Y con esto contemplas todas las combinaciones excepto todos los campos vacíos.

Espero se entienda la idea para la busqueda.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

consulta sql con varios filtros

Publicado por nato (5 intervenciones) el 26/04/2017 22:54:03
muchas gracias Antoni

ya entendi como formar la cadena , pero la verdad no entendi el ultimo codigo
1
Texto = Right$(Texto, len(Texto)-4)

me podrías explicar esto

gracias
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
Imágen de perfil de Antoni Masana

consulta sql con varios filtros

Publicado por Antoni Masana (190 intervenciones) el 27/04/2017 06:14:42
Es simple la variable Texto equivale a esto:
1
Texto = "FIND Codigo.Texto = db.Codigo  AND Codigo.Texto = db.Codigo  AND Color.Texto = db.Color AND "

Y despúes de ejecutar:
1
Texto = Right$(Texto, len(Texto)-4)

La variable texto equivale a esto:
1
Texto = "FIND Codigo.Texto = db.Codigo  AND Codigo.Texto = db.Codigo  AND Color.Texto = db.Color "

Quita los 4 últimos cadacteres

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

consulta sql con varios filtros

Publicado por nato (5 intervenciones) el 27/04/2017 16:15:02
Muchas gracias Antoni

te lo agradezco mucho, ya quedo solo estoy en proceso de validación

saludos
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