2011-06-01 80 views
2

我遇到了以下代码行的问题,我觉得它很简单,但我不能把它放在手指上。我得到一个运行时错误'91'对象变量或块变量未设置错误。该错误发生在rsc.OpenRecordSet...行。 BadgeV是一个数字,我已经安装了DAO引用,它从一个链接的sql服务器表中拉出,我有一个主键和标识。我错过了什么?.openrecordsource“run-time error'91'”

Function FNC_Scan() 
    Dim db As DAO.Database 
    Dim rsc As DAO.Recordset 

    Set db = CurrentDb() 
    rsc.OpenRecordset ("SELECT dbo_ScanData.CardID, dbo_ScanData.Complete FROM dbo_ScanData WHERE (((dbo_ScanData.CardID)= Forms![Scan]!BadgeV))) AND ((dbo_ScanData.Complete)=0));") 

    If rsc.EOF Then 
     MsgBox "new item" 
    Else 
     MsgBox "Append Item" 
    End If 

    Set rsc = Nothing 
    Set db = Nothing 
End Function 
+0

集RSC = db.OpenRecordset( “选择dbo_ScanData.CardID,dbo_ScanData.Complete FROM dbo_ScanData WHERE dbo_ScanData.CardID =” &形式![Scan]!BadgeV&“AND dbo_ScanData.Complete = 0”) – 2011-06-01 17:17:50

回答

3

应该是

set rsc = db.OpenRecordset(...) 

代替

rsc.OpenRecordset(...) 
+0

谢谢,但现在我得到一个运行时错误3061参数太少。预期1.任何见解? – Ben 2011-06-01 16:51:14

+0

检查字段名称的拼写 - 这通常意味着引擎找到了它在基础表中找不到的名称。 – RolandTumble 2011-06-01 18:55:32

+0

谢谢大家,这是我的完整解决方案,以防万一它帮助别人 – Ben 2011-06-03 12:35:33