0

私はこのコードで2つのテーブルデータを比較しようとしています:

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

そして、シリアルがこれらのテーブルの両方の列である理由がわかりません。このエラーがポップアップする理由について、誰かが私に手がかりを与えることができますか?

4

1 に答える 1

4

rstB!serialまたはのいずれかが必要rstB.Fields("serial")です。!前者は後者のシンタックス シュガーとして"bang" 演算子 ( ) を使用します。

あなたが書くとき、あなたはレコードセットのプロパティrstB.serialを参照しようとしています。ただし、レコードセット オブジェクトにはプロパティがないため、「メソッドまたはデータ メンバーが見つかりません」というエラーが表示されます。serial serial

于 2013-07-18T20:51:25.603 に答える