[英]Access Dynamic Pass-through Query
我一直在尋找,但是沒有找到一個好的答案。 我發現我可以在VBA過程中生成代碼並從那里運行它,但是,我正在從事其他人的設計,並且不想對其進行過多更改。
在該傳遞查詢的一部分中,我們具有以下內容:
WHERE (((ID='380')
我希望380是將要查看UserForm組合框的代碼,為我的數據庫寫一個查詢,返回一個值WHERE column = combobox.value
我希望這是有道理的,讓我知道是否有人知道如何使用此功能。 謝謝。
您可以設置組合框以將所選值放在單元格中,然后通過參數將查詢鏈接到該單元格的值。
干杯-
在四處查看並進行了一些研究之后,似乎只有服務器上的存儲過程(我做不到)或創建字符串並將該字符串傳遞給傳遞查詢是我的選擇。 我將繼續使用string選項,因為這似乎是受我的限制的最佳選擇。 如果以后有人提出任何想法會有所幫助,請告訴我。 謝謝。
一種方法是將模板查詢存儲在傳遞查詢中,例如:
select * from table where ID = [ID]
然后使用VBA讀取查詢,替換ID,將其寫到另一個准備好的查詢中,然后執行它。 像這樣:
Sub zzz()
Dim SQL As String
With CurrentDb
SQL = .QueryDefs("PassThruQueryTemplate").SQL
.QueryDefs("PassThruQuery").SQL = Replace(SQL, "[ID]", "380")
.Execute "PassThruQuery"
End With
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.