Visual Basic - Consulta SQL compleja

Life is soft - evento anual de software empresarial
 
Vista:

Consulta SQL compleja

Publicado por Raiskar (6 intervenciones) el 20/07/2003 20:37:16
Buenas!

Necesito crear una consulta que sea cada vez distinta, segun los datos que haya en los controles de texto de mi formulario. Si tengo cuatro campos de texto y en mi primera consulta solo doy valores a dos de los controles, la consulta debe extraer todos los registros que coincidan con esos dos.
Pero luego quiero otra consulta totalmente distinta y que tenga valores en otros dos campos de texto, ya sean los mismos o distintos. Y claro la sentencia en su parte WHERE no tendra todos los campos, sino solo los que se solicitan.

¿Como puedo crear la instruccion SQL de consulta mirando si los campos de texto han cambiado o son distintos de caracter en blanco? Porque la consulta solo debe extraer los registros cuyos valores coinciden con los campos buscados, es decir, los campos de busqueda varian con cada consulta.

Gracias por anticipado.

Raiskar.
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:Consulta SQL compleja

Publicado por MarioBros (12 intervenciones) el 21/07/2003 19:36:21
Si te he entendido bien, lo que necesitas es que tu consulta, especialmente la cláusula WHERE cambie segun los textbox de tu formulario estén llenos o no.

Si eso es lo que necesitas, tu problema se puede resolver con programación, por ejemplo, armando la expresion sql en una variable de tipo string, y la clausula WHERE la vas cambiando de acuerdo a los contenidos de los textbox, que a su vez debieran tener alguna relación con algun campo especifico de tu abla o consulta.
Espero haberte aclarado ago tu problema.
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:Consulta SQL compleja

Publicado por raiskar (6 intervenciones) el 22/07/2003 00:28:46
Gracias por la respuesta.

Si ya lo habia pensado ( e incluso lo estoy haciendo asi ) pero lo malo es que tengo formularios con 14 origenes de datos que pueden tener la posibilidad de entrar en la consulta. Puse el post para saber si habia manera de evitarme casi 200 lineas de codigo repetitivo.

Saludos,

Raiskar.
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:Consulta SQL compleja

Publicado por Jim Adam (120 intervenciones) el 22/07/2003 18:23:50
Has probado programando en el Change de cada Textbox
rsCampos "Select 'a' as Nombre, 'b' as Apellido, 2 as Edad From UnaTablaCualquiera WHERE 1<1",Cnn,3,1,1
'El 1<1 es para que te devuelva sólo las columnas sin ningún registro
Private Sub txtFiltro1_Change()
txtFiltro1.Tag = " AND [" rsCampos(1).Name & "] = '" & txtFiltro1 & "'"
End Sub
Private Sub txtFiltro2_Change()
txtFiltro1.Tag = " AND [" rsCampos(2).Name & "] = '" & txtFiltro2 & "'"
End Sub

sub Filtrar()
sFiltro = "select * from Vista WHERE " & VBA.Mid(txtfiltro1.tag & txtfiltro2.tag,6) 'Esta línea es para quitar el Primer " AND "
rs.open sFiltro,cnn,3,1,1
End sub

'Come te darás cuenta es un código stándar que sólo necesita 3 pasos:
1.- Ctrl+C
2.- Ctrl+V
3.-Quitar o Agregar los filtros necesarios y corregir el rsCampos

Suerte, si te funcionó o lo crees útil mándame un e-mail con el Subject="Gracias QUERY", de lo contrario uno con "No Funka el QUERY"

Espero tu repuesta
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