Access - Ejecutar consultas dinamicas desde formulario

 
Vista:

Ejecutar consultas dinamicas desde formulario

Publicado por Beatriz (4 intervenciones) el 10/09/2004 14:26:32
Buenas tardes a todos..
Quiero lanzar desde un formulario consultas segun unos cuantos parametros.
Por ejemplo si el usuario es x y la edad > z , etc.. lanzarla y luego cambiando otros parametros tambien lanzar la consulta. Y de ahi generar un informe para mostrar los datos o segun los datos seleccionados ya lanzo un informe u otro para mostrar los datos.
He estado probando con RunSQL, y CurrentDb.Execute con una sql normal de seleccion y da error, ya que dice que no puede ser una consulta de seleccion. Y en la ayuda me ha parecido ver
Si puede ser os agradeceria una pequeña ayuda porque no hay forma de aclararme..

Si alguien tiene otra idea de hacerlo o no se puede hacer asi.., cambio la forma de hacerlo..

Muchas gracias por adelantado
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

Ejecutar consultas dinamicas desde formulario

Publicado por Alejandro (4142 intervenciones) el 10/05/2023 16:51:40
Si deseas ejecutar consultas dinámicas desde un formulario en Access, puedes utilizar el objeto QueryDef para crear y ejecutar consultas SQL en tiempo de ejecución. Aquí tienes un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub btnEjecutar_Click()
    Dim db As DAO.Database
    Dim qdf As DAO.QueryDef
    Dim strSQL As String
    Dim strUsuario As String
    Dim intEdad As Integer
 
    ' Obtener los valores de los parámetros del formulario
    strUsuario = Me.txtUsuario.Value
    intEdad = Me.txtEdad.Value
 
    ' Construir la consulta SQL con los parámetros
    strSQL = "SELECT * FROM TuTabla WHERE Usuario = '" & strUsuario & "' AND Edad > " & intEdad
 
    ' Obtener una referencia a la base de datos actual
    Set db = CurrentDb
 
    ' Crear un objeto QueryDef
    Set qdf = db.CreateQueryDef("", strSQL)
 
    ' Ejecutar la consulta y mostrar los resultados en un formulario o informe
    DoCmd.OpenQuery qdf.Name, acViewNormal
 
    ' Liberar los objetos utilizados
    Set qdf = Nothing
    Set db = Nothing
End Sub

En este ejemplo, se utiliza el evento "Al hacer clic" de un botón (llamado "btnEjecutar") en el formulario para ejecutar la consulta dinámica. Puedes ajustar el código según tus necesidades, modificando la consulta SQL de acuerdo a los parámetros y tablas específicas que estés utilizando.

Recuerda reemplazar "TuTabla" con el nombre de tu tabla, y ajustar los nombres de los controles de texto ("txtUsuario" y "txtEdad") según los nombres que hayas utilizado en tu formulario.

Espero que esto te ayude a ejecutar consultas dinámicas desde tu formulario en Access.
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