Ejecución de consulta Access VBA

Hola,
estoy intentando ejecutar una consulta ya registrada en mi base Access llamada "Moins_Values_derives_Coefficientes" y quiero lanzar la ejecución de esta consulta pasando el nombre de la consulta directamente en mi código VBA (sin reescribir la consulta SQL). ¿Es posible?

a continuación mi código que no funciona.
DoCmd.OpenQuery "Moins_Values_derives_Coefficientes
ruta = "ruta de mi BD" , no había añadido la instrucción DoCmd.OpenQuery "Moins_Values_derives_Coefficientes" en mi código, tampoco funciona
gracias por vuestra ayuda

Dim db As DAO.Database
Dim q As QueryDef
Dim rs As DAO.Recordset

Set db = DAO.OpenDatabase(ruta, False, False)

Set q = db.QueryDefs("Moins_Values_derives_Coefficientes")
Set rs = db.OpenRecordset(q.Sql)

End Sub

he buscado por todas partes pero no he encontrado mucho (soy principiante en VBA)

4 respuestas

  1. Hola,
    ¿Qué es "Error 424". Tus interlocutores no son necesariamente listados ambulantes de errores enumerados por Access. Además, como tampoco dices qué es "MAXhistovl". De todas formas, repetition: Atención a los errores de escritura. Lo más probable es que exista.
    0
    1. Cuando ejecuto mi código a continuación, aparece un error:
      Error de ejecución '424': Objeto requerido
      destacando en amarillo la línea "Set q = CurrentDb.QueryDefs("MAXhistovl")"
      Gracias por tu respuesta

      Sub bal()

      Dim db As DAO.Database
      Dim q As DAO.QueryDef
      Dim rs As DAO.Recordset

      Set q = CurrentDb.QueryDefs("MAXhistovl")
      Set q = Nothing

      End Sub
      0
      1. Hola,
        Nunca he tenido problemas con la escritura:
        DoCmd.OpenQuery "[Blabblabla]"

        Ten cuidado con todas tus comillas, te falta una al final de la escritura que nos presentas, y Access normalmente no le gustan mucho los espacios en los nombres de objetos, y quizá sea innecesario tener un nombre tan largo y complicado como "Moins_Values_derives_Coefficientes", "MoinsValDerivesCoeff" habría hecho el trabajo igual de bien sin arriesgarse a un error de escritura.
        Buena continuación
        3