我正在尝试设置一个不断给我错误信息的记录集 - "运行时错误3061参数太少。预计1"。 查询检查组合框中的值是什么,然后返回两个字段。这是我试过的VBA代码 -
Dim db As Database
Dim rst As Recordset2
Dim field As field
Dim n As Integer
Dim Qno As Integer
Dim sqlstr As String
Set db = DBEngine(0)(0)
Set rst = db.OpenRecordset("Get_Questions", dbOpenDynaset)
这是Get_Questions查询背后的SQL -
SELECT Question_Lt.Qnumber, Question_Lt.Questions, Question_Lt.Freq
FROM Question_Lt
WHERE (((Question_Lt.ClientCd)=[Forms]![TestForm]![CmClient]));
答案 0 :(得分:1)
将您的查询用作QueryDef
对象,提供参数值,然后使用其OpenRecordset
方法填充您的记录集。
'Set rst = db.OpenRecordset("Get_Questions", dbOpenDynaset)
Dim qdf As DAO.QueryDef
Set qdf = db.QueryDefs("Get_Questions")
qdf.Parameters(0).Value = [Forms]![TestForm]![CmClient]
Set rst = qdf.OpenRecordset(dbOpenDynaset)
答案 1 :(得分:0)
我很少有声誉点来评论你的问题。但究竟什么是SQL语句。在我看来,你的''没有定,但我不知道
我只是猜测:Get_Questions的Sql脚本应该是这样的。我不知道参数“Get_Questions”是一个查询名吗?
sqlStr =
"SELECT...
FROM Question_LT
WHERE Client.Cd = " & [Forms]![TestForm]![CmClient]