sql - .openrecordsource "run-time error ' 9 1'"

标签 sql sql-server-2008 ms-access vba

我对以下代码行有疑问,我觉得它很简单,但我无法指出它。我收到运行时错误“91”对象变量或 block 变量未设置错误。错误发生在 rsc.OpenRecordSet... 行。 BadgeV 是一个数字,我安装了 DAO 引用,它是从链接的 SQL Server 表中提取的,我在该表中有主键和标识。我错过了什么?

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

最佳答案

应该是

set rsc = db.OpenRecordset(...)

而不是

rsc.OpenRecordset(...)

关于sql - .openrecordsource "run-time error ' 9 1'",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6204533/

相关文章:

vba - 如何查明从 MS Access 中调用函数的位置?

java - 有谁知道 Hibernate 和 java 是否可以有效地与 Access 一起工作?

php - 来自数组的回显值

sql - 为什么在获取批量数据(没有空间)时SQL查询执行时间过长?

sql-server - 找到重叠次数最多的日子?

c# - 如何在不使用 catch Exception 的情况下从 .NET 应用程序检测 sql server 超时

ms-access - 无法使用 VBA 清除办公室剪贴板

mysql - 在 MariaDB 中,如何从表中选择前 10 行?

mysql - 获取具有特定用户 ID 的另一个表中不存在的记录

sql - 为什么 ORACLE TO_DATE 函数在传递空格时不会在 OR 条件中给出 ORA-01841 错误?