“未找到方法或数据成员”访问错误

时间:2013-07-18 20:48:56

标签: vba ms-access access-vba

我正在尝试将两个表Data与此代码进行比较:

Set rstA = dbs.OpenRecordset("SerialAccount_a")
Set rstB = dbs.OpenRecordset("SerialAccount_b")

While Not rstB.EOF

  serialNumber = rstB.serial
  rstB.Filter = "serial = '" & serial & "'"
  Set rstFiltered = rstB

  Do While Not rstFiltered.EOF

    If rstA.Fields("serial") = rstB.Fields("serial") Then

      If rstA.Fields("accountnumber") <> rstB.Fields("accountnumber") Then

        accountMessage = "... do not match!"
        Debug.Print accountMessage

      ElseIf rstA.Fields("model_number") <> rstB.Fields("model_number") Then

        modelMessage = "... do not match!"
        Debug.Print modelMessage

      End If

    End If
  Wend

Wend

当我尝试运行它时,编译器在行上给出了错误“找不到方法或数据成员”:

serialNumber = rstB.serial

我不明白为什么,serial是这两个表中的一列。有人能否告诉我为什么会出现这个错误?

1 个答案:

答案 0 :(得分:4)

您需要rstB!serialrstB.Fields("serial")。前者使用“bang”运算符(!)作为后者的语法糖。

当您撰写rstB.serial时,您试图引用记录集的serial 属性。但记录集对象没有serial属性,因此您收到“找不到方法或数据成员”错误。