在访问中迭代表的列

时间:2014-07-14 20:05:27

标签: vba access-vba

我想在访问中比较两个不同表的两列。我在Vba中写了下面的代码,但是我收到了一个错误:

For Each Motor.a In Motor
  For Each Machine.b In Machine                                    
    If b = a Then
    Else
      MsgBox "Value= " & b
    End If
  Next
Next

机床和电机都是表格,(a和b)分别是电机和机床中的列,文本数据类型。我运行时遇到错误。我应该如何改变?

1 个答案:

答案 0 :(得分:0)

您不能这样做,您需要先将表数据读入RecordSet,然后才能处理它。 我建议再次使用看起来像......的代码。

Sub test()
    Dim DB As DAO.Database
    Dim R As DAO.Recordset

    Set DB = CurrentDb()
    Set R = DB.OpenRecordset("Motor", dbOpenDynaset, dbSeeChanges)

    R.MoveFirst
    Debug.Print R.Fields("a").Value
    Debug.Print R!a

    R.Close
    Set R = Nothing
    Set DB = Nothing

End Sub