sql - ejemplo - MS Access: ejecuta una consulta guardada por nombre en VBA
insert into access ejemplo (3)
Debe investigar por qué VBA no puede encontrar el nombre de la consulta .
Tengo una consulta guardada llamada qryAddLoginfoRow . Inserta una fila con la hora actual en mi tabla de inicio de sesión . Esa consulta se ejecuta correctamente cuando se llama por nombre por CurrentDb.Execute
.
CurrentDb.Execute "qryAddLoginfoRow"
Supongo que queryname es una variable que contiene el nombre de una consulta que no existe en la colección QueryDefs de la base de datos actual, o queryname es el nombre literal de una consulta existente pero no la incluyó entre comillas.
Editar : Necesita encontrar una forma de aceptar que queryname no exista en la colección QueryDefs del db actual. Agregue estas 2 líneas a su código VBA justo antes de la línea CurrentDb.Execute
.
Debug.Print "queryname = ''" & queryname & "''"
Debug.Print CurrentDb.QueryDefs(queryname).Name
La segunda de esas 2 líneas activará el error en tiempo de ejecución 3265, " Artículo no encontrado en esta colección " . Luego diríjase a la ventana Inmediato para verificar el nombre de la consulta que está pidiendo que CurrentDb
.
¿Cómo ejecuto una consulta guardada en MS Access 2007 en VBA?
No quiero copiar y pegar el SQL en VBA. Prefiero simplemente ejecutar el nombre de la consulta.
Esto no funciona ... VBA no puede encontrar la consulta.
CurrentDb.Execute queryname
Para usar CurrentDb.Execute, su consulta debe ser una consulta de acción Y entre comillas.
CurrentDb.Execute "queryname"
Puedes hacerlo de la siguiente manera:
DoCmd.OpenQuery "yourQueryName", acViewNormal, acEdit
O
CurrentDb.OpenRecordset("yourQueryName")