【发布时间】:2016-05-15 13:45:51
【问题描述】:
这段代码运行良好:
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 是不允许的。
有什么解决办法吗?谢谢
【问题讨论】: