运行时错误 3061 帮助(毫秒访问)
Posted
技术标签:
【中文标题】运行时错误 3061 帮助(毫秒访问)【英文标题】:Runtime Error 3061 Help (ms access) 【发布时间】:2012-07-16 14:50:04 【问题描述】:我一直在绞尽脑汁试图找出这个查询有什么问题,但我只是看不到它。我正在尝试打开一个记录集,但我不断收到运行时错误 3061:“参数太少:预期为 1。”
这是我的代码...
Dim ansRs As Recordset
Dim qRs As Recordset
Dim ansQuery As String
Dim qQuery As String
Dim i As Integer
qQuery = "Select * From TrainingQuizQuestions Where TrainingQuizID = (Select TrainingQuiz.TrainingQuizID From TrainingQuiz Where QuizName = Forms!MainMenu!txtVidName);"
ansQuery = "Select * From TrainingQuizQuestAns"
Set qRs = CurrentDb().OpenRecordset(qQuery)
Set ansRs = CurrentDb().OpenRecordset(ansQuery)
我从“Set qRs = CurrentDb().OpenRecordset(qQuery)”行收到错误消息。我将该查询复制并粘贴到访问中并运行它,它准确地返回了我想要在我的记录集中获得的内容,但是当我在 VBA 中运行它时出现错误。我错过了一些非常简单的东西吗?任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:首先确保您的表单是打开的,然后将表单引用放在引号之外。
qQuery = "Select * From TrainingQuizQuestions Where TrainingQuizID = " _
& "(Select TrainingQuiz.TrainingQuizID From TrainingQuiz Where QuizName = '" _
& Forms!MainMenu!txtVidName) & "';"
表单值不适用于 VBA 中使用的记录集。
【讨论】:
做到了。非常感谢。老实说,我从来没有想过这一点,因为我在 DLookUp 的其他地方有完全相同的 where 子句,它工作得很好。 是的。这可能会让人很困惑。以上是关于运行时错误 3061 帮助(毫秒访问)的主要内容,如果未能解决你的问题,请参考以下文章