Modificar el Select en tiempo de ejecucion

Ante todo recibe mis saludos..
Quisiera que me ayudaras en como poder modificar el SELECT y el WHERE de una consulta SQL en visual basic; Yo emplee las siguiente consultas
1.- SQL="SELECT " & Grupo & " FROM
Alumno WHERE CodAlum='" & Codigo
& "'"
2.- SQL="SELECT '" & Grupo & "'FROM
Alumno WHERE CodAlum='" & Codigo
& "'"
Donde el parámetro Grupo y CodAlum ira n cambiandon de acuerdo a la decisión del usuario.
Respuesta
1
Si no entiendo mal la pregunta, lo haces correctamente pero deberás de poner en variables todas las partes del select que pueden variar. No es fácil.
Yo uso una tabla CAMPOS donde tengo todos los campos de las tablas con las que quiero generar SELECT's dinámicos. He creado un formulario donde escojo la tabla de un combo, muestro los campos de esta tabla en una lista y permito la selección de los campos que el usuario desee. Este paso me permite crear la relación de campos y el FROM del SELECT. Para el WHERE, más difícil todavía, he creado un generador de expresiones donde el usuario escoge un campo de la tabla, una expresión matemática y la da un valor (EJ. escoge ID_NOMBRE de la tabla, el operador "=" y pone un valor en otra casilla). Con esto, relacionando con OR o AND, genero la sentencia WHERE. No puedo pasarte estos programas porque son parte de la empresa donde trabajo y puede provocarme algún problema. Pero si tienes alguna duda miraré de ayudarte.

4 respuestas más de otros expertos

Respuesta
1
Bueno hay muchas maneras de de automatizar lo que tu quieres.
Por ejemplo puedes implementar un combo con los diferebtes grupos "Grupo" y luego concatenar tu SQL.
SQL="sentencia sql" & Tu combo & "sentencia sql".
Esto es muy sencillo y útil. Si quieres algo más complejo no dudes en preguntarme.
Suerte!
Respuesta
1
No se si te entiendo bien, pero creo que lo único que tienes que hacer es meter tus valores en variables... si no es eso dímelo
Respuesta
1
Anteo todo tenemos el formato del SQL de la siguiente manera:
SQL = "SELECT tabla.campo FROM tabla WHERE campo="1020";"
Para hacerlo en tiempo de ejecución vamos a suponer que tenemos 2 variables: "grupo" y "codigo"
Entonces tendremos lo siguiente:
grupo = "tabla.campo"
codigo = "1020"
SQL= "SELECT " & grupo & " FROM tabla WHERE campo=" & chr(34) & codigo & chr(34) & ";"
Donde la variable "grupo" indicara cuales serán las salidas de la consulta y la variable "codigo" indicara las restricciones.
Ojo que tenemos que dar comillas adicinonales:chr(34) si el campo a verificar es de tipo texto caso contrario si es numérico darle sin comillas, y ponerle el ";" al final de la cadena SQL.
Espero haberte ayudado cualquier consulta me la haces llegar
Suerte
Luis
PD: Finalizar la pregunta.
Respuesta
1
Pues la verdad es que lo que planteas esta bien no creo que ha sido ningún problema.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas