1
此代碼工作正常:VBA參數添加到新的查詢高清
Dim db As DAO.Database, rs As DAO.Recordset, qd As DAO.QueryDef
Set db = CurrentDb
Set qd = db.QueryDefs("query1")
qd.Parameters("[cou]").Value = "BE"
Set rs = qd.OpenRecordset
Do Until rs.EOF
Debug.Print rs!title, rs!country_fk
rs.MoveNext
Loop
rs.Close
但是當我嘗試創建一個querydef
,而不是使用現有的,以達到相同的結果,我上qd.Parameters
行錯誤。
Set db = CurrentDb
Set qd = db.CreateQueryDef
qd.SQL = "PARAMETERS [cou] Text (255); SELECT TOP 10 Title, Country_fk FROM dbo_Client WHERE Country_fk=[cou];"
qd.Parameters("[cou]").Value = "BE"
Set rs = qd.OpenRecordset
Do Until rs.EOF
...
我注意到qd.Parameters.Count
= 0和qd.Parameters.Add
是不允許的。
任何解決方案? Thx
的確。我現在感覺有點愚蠢。 Shoudl我刪除了這個問題? –
我不這麼認爲,帕特里克。它應該有助於另一位讀者理解QueryDef必須是「named」(即使只有一個空字符串作爲名稱)才能使Access識別「參數」。另外我認爲這很有趣。我以前從未注意過這個問題。 :-) – HansUp