参数太少预期1,记录集问题

我在从MS Access 2010数据库中创建的查询中运行记录集时遇到问题。这是我要运行的代码:


Private Sub Command192_Click()

Dim recs As String

Dim param As Integer

Dim rs As Recordset


Set rs = CurrentDb.OpenRecordset("UnitRec_Qry", dbOpenDynaset)


With rs

.MoveLast

.MoveFirst


While Not .EOF


recs = recs & vbNewLine & !Spara & " - " & !Rec

.MoveNext


Wend


End With



MsgBox (recs)

End Sub

这应该输出的是一个消息框,其中包含列表中查询的许多记录。我这样做是为了将它和许多其他记录收集到一个文本文件中,以进行复制和粘贴到一个单独的系统中。目前,我正在运行这段代码,以便将其全部放入一个字符串变量中。


我的问题是我遇到了可怕的“参数太少,预期为1”错误。


该查询有效,我将其保存到数据库中并进行了测试,并获得了预期的结果。


我尝试使用SQL运行记录集:


Set rs = CurrentDb.OpenRecordset("SELECT UnitRecommend_tbl.URecID, UnitRecommend_tbl.Spara," _

& " UnitRecommend_tbl.Rec, UnitRecommend_tbl.SvyID" _

& " FROM UnitRecommend_tbl" _

& " WHERE ((UnitRecommend_tbl.SvyID) = [Forms]![SurveyRegister_frm]![SurveyID])" _

& " ORDER BY UnitRecommend_tbl.Spara;", dbOpenDynaset)

我犯了同样的错误


我再次运行它,但是删除了“ WHERE”语句,代码运行得很好,但是给了我表中的每条记录。不是我想要的


因此,这些字段可以正常运行,因为数据可以运行。当我调试文本时,SQL中的参数确实显示为正确的参数,在这种情况下,数字4是整数。


因此,我在这里不知所措,我在这里搜索了其他帖子,并尝试了这些可能的解决方案(除非我错过了什么)。


我也尝试使用dbopensnapshot,仍然没有乐趣。想知道我现在是否在使用正确的代码。


任何帮助都会很棒。


斯蒂芬大帝
浏览 509回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP