0
我有一個帶有文本字段和子窗體的訪問表單。文本字段是一個名爲myQuery的查詢的參數,子表單顯示myQuery的結果。訪問:使用DAO.recordset運行查詢,從另一個查詢中進行選擇
在VBA我要訪問更改爲MyQuery的第一排,所以我試圖用DAO.recordsets
像這樣:
dim query as string
dim rs as DAO.recordset
query = "select top 1 * from myQuery"
set rs=CurrentDb.OpenRecordset(query)
我得到一個錯誤,說「參數太少」。
如果我去創建查詢選項卡,並運行SQL代碼「從myQuery中選擇頂部1 *」它的作品。我猜測,通過CurrentDb.OpenRecordset
運行查詢時,您不能像使用常規SQL那樣將另一個查詢視爲表。如何使用OpenRecordset
?
Regards
您保存的查詢引用了窗體上的控件,因此當您調用保存的查詢時,它會嘗試將「Forms!SomeForm!TextField」作爲參數進行計算,而不是查看實際控件本身。取消保存的查詢並將完整的查詢文本放入查詢字符串變量中。 –
謝謝,通過一些調整,我能夠讓你的方法工作。 – Carl
或者如果查詢足夠複雜以至於您不想將整個SQL放入VBA中,則可以使用以下命令:http://stackoverflow.com/a/32118340/3820271 – Andre