Access - Modificar una consulta en tiempo de ejecución.

 
Vista:

Modificar una consulta en tiempo de ejecución.

Publicado por vic (2 intervenciones) el 09/04/2007 19:37:13
Hola me gustaría saber si es posible modificar el texto SQL de una consulta antes de ejecutarla.
Lo ideal seria que la cadena de texto la pueda almacenar en una variable o en un función.

Ejemplo
Cambiar esta cadena
SELECT TablaEmpleados.Nombre FROM TablaEmpleados;
por esta otra
SELECT TablaEmpleados.Apelllidos FROM TablaEmpleados;

No estoy seguro pero creo que había una forma de filtrar las tablas desde código sin necesidad de crear una consulta de Access.
Garcías por tu ayuda saludos.
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 Alejandro

Modificar el texto SQL de una consulta antes de ejecutarla

Publicado por Alejandro (4142 intervenciones) el 07/08/2023 22:34:52
Sí, Vic, es posible modificar el texto SQL de una consulta en Access antes de ejecutarla. Puedes almacenar la cadena de texto SQL en una variable y luego modificarla según tus necesidades.

Aquí te muestro cómo hacerlo:

Supongamos que tienes una consulta llamada "miConsulta" con el siguiente SQL:

1
SELECT TablaEmpleados.Nombre FROM TablaEmpleados;

Puedes crear una función que modifique el SQL de la consulta antes de ejecutarla. Por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Function ModificarSQLConsulta()
    Dim qdf As QueryDef
    Dim strSQL As String
 
    ' Obtener la consulta "miConsulta"
    Set qdf = CurrentDb.QueryDefs("miConsulta")
 
    ' Obtener el SQL actual de la consulta
    strSQL = qdf.SQL
 
    ' Reemplazar "Nombre" por "Apellidos" en el SQL
    strSQL = Replace(strSQL, "Nombre", "Apellidos")
 
    ' Actualizar el SQL de la consulta
    qdf.SQL = strSQL
 
    ' Ejecutar la consulta modificada
    qdf.Execute
 
    ' Limpiar memoria
    Set qdf = Nothing
End Function

Luego, puedes llamar a la función `ModificarSQLConsulta` para cambiar el campo seleccionado en la consulta "miConsulta" antes de ejecutarla.

Esta es una forma de modificar el SQL de una consulta dinámicamente desde código en Access. Ten en cuenta que modificar el SQL de una consulta puede tener consecuencias, así que asegúrate de realizar las pruebas necesarias antes de implementarlo en tu aplicación.

Espero que esta información te sea útil. ¡Buena suerte!
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