如何在VBA中的MS Access 2007中執行保存的查詢?MS Access - 在VBA中按名稱執行已保存的查詢
我不想將SQL複製並粘貼到VBA中。我寧願只執行查詢的名稱。
這不起作用... VBA找不到查詢。
CurrentDb.Execute queryname
如何在VBA中的MS Access 2007中執行保存的查詢?MS Access - 在VBA中按名稱執行已保存的查詢
我不想將SQL複製並粘貼到VBA中。我寧願只執行查詢的名稱。
這不起作用... VBA找不到查詢。
CurrentDb.Execute queryname
你可以做到這一點的方式如下:
DoCmd.OpenQuery "yourQueryName", acViewNormal, acEdit
OR
CurrentDb.OpenRecordset("yourQueryName")
你最好調查一下VBA找不到queryname。
我有一個保存的查詢名爲qryAddLoginfoRow。它將當前時間的一行插入到我的loginfo表中。當由CurrentDb.Execute
按名稱調用時,該查詢成功運行。
CurrentDb.Execute "qryAddLoginfoRow"
我的猜測是,要麼queryname是一個變量保存查詢不當前數據庫的QueryDefs集合中存在,或者queryname的名字是現有查詢的文字名稱,但你沒有用引號括起來。
編輯: 你需要找到一種方法來接受queryname不會將當前數據庫的QueryDefs集合中存在。將這兩行添加到CurrentDb.Execute
行之前的VBA代碼中。
Debug.Print "queryname = '" & queryname & "'"
Debug.Print CurrentDb.QueryDefs(queryname).Name
那些2線將觸發運行時錯誤3265的第二個「這個項目集合中找不到。」然後轉到立即窗口來驗證你問CurrentDb
查詢的名稱到Execute
。
要使用CurrentDb.Execute,您的查詢必須是操作查詢,並用引號引起來。
CurrentDb.Execute "queryname"
我不想編輯。這會執行我的更新並插入查詢嗎? – tdjfdjdj 2012-03-29 15:57:00
是的,它會運行更新和插入查詢。 – Taryn 2012-03-29 15:58:32
它是一個附加查詢手動工作,但不是在我的vba代碼。我可以不使用追加保存的查詢嗎? – tdjfdjdj 2012-03-29 17:09:11