Ejecutar Consultas que están sus nombres en una tabla

Dispongo de un formulario que lee una tabla CONSULTASCALCULOS donde están los nombres de todas las consultas a ejecutar y sus condiciones de funcionamiento a través de un campo (SI/NO).

Necesito ver la forma de NO tener que detallar consulta por consulta en cada ejecución del programa y poder leer los nombres de las mismas, y si estas están marcadas, que sean ejecutadas sin tener que detallar el nombre por cada una de ellas.

Una función que pueda leer todas las consultas y sean ejecutadas aquellas en las que el valor sea igual a SI

1 respuesta

Respuesta
1

Una forma sería creándote una función con VBA:

Function EjecutarConsultas()
Dim Rs As DAO.Recordset
    Set Rs = CurrentDb.OpenRecordset("SELECT * FROM TConsultas WHERE EjecutarSiNo = True", dbOpenForwardOnly)
    Do Until Rs.EOF
        DoCmd.OpenQuery Rs!NombreConsulta
        Rs.MoveNext
    Loop
    Rs.Close
End Function

Como he de decirle que recoja el nombre de cada una de las consultas que he de ejecutar?.

La tabla que contiene los nombres de las Consultas: CONSULTASGENERALES

Consultas a ejecutar: Consulta1, Consulta2, Consulta3...., ConsultaN

Que he de hacer para adaptar esto a la propuesta que me has mandado.

Un saludo

A la primera pregunta:

- O bien introduces manualmente tu los nombres de las consultas a ejecutar en la tabla

- O te creas un formulario con el asistente que te permita hacer eso 'mas bonito'

A la segunda:

- Tendrás que adaptar el código que te he puesto a tu propia situación. Yo la tabla la he llamado TConsultas, el campo que contiene el nombre de la consulta NombreConsulta y un campo del tipo Si/No que me indica si ejecuta la consulta (valor True) EjecutarSiNo

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas