tdj*_*jdj 25 sql ms-access vba
如何在VBA中的MS Access 2007中执行已保存的查询?
我不想将SQL复制并粘贴到VBA中.我只是执行查询的名称.
这不起作用... VBA无法找到查询.
CurrentDb.Execute queryname
Run Code Online (Sandbox Code Playgroud)
Tar*_*ryn 38
您可以通过以下方式执行此操作:
DoCmd.OpenQuery "yourQueryName", acViewNormal, acEdit
Run Code Online (Sandbox Code Playgroud)
要么
CurrentDb.OpenRecordset("yourQueryName")
Run Code Online (Sandbox Code Playgroud)
Han*_*sUp 10
您应该调查VBA无法找到queryname的原因.
我有一个名为qryAddLoginfoRow的已保存查询.它将当前时间的一行插入到我的loginfo表中.当按名称调用时,该查询成功运行CurrentDb.Execute.
CurrentDb.Execute "qryAddLoginfoRow"
Run Code Online (Sandbox Code Playgroud)
我的猜测是,queryname是一个变量,它包含当前数据库的QueryDefs集合中不存在的查询名称,或者queryname是现有查询的文字名称,但您没有将其括在引号中.
编辑:您需要找到一种方法来接受当前db的QueryDefs集合中不存在queryname.在这CurrentDb.Execute行之前将这两行添加到您的VBA代码中.
Debug.Print "queryname = '" & queryname & "'"
Debug.Print CurrentDb.QueryDefs(queryname).Name
Run Code Online (Sandbox Code Playgroud)
那些2线的第二个将触发运行时错误3265," 不是这个集合中找到项目. "然后去立即窗口来验证你要求查询的名称CurrentDb来Execute.
要使用CurrentDb.Execute,您的查询必须是动作查询,并且在引号中.
CurrentDb.Execute "queryname"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
126346 次 |
| 最近记录: |