在Access 2010 VBA中迭代Recordset

时间:2013-10-12 02:02:31

标签: vba ms-access access-vba

我必须遍历一个表并测试14个不同的字段以获得特定值。所有这些字段都具有相似的名称,例如foo 1foo 2foo 3等。

我想使用For循环来遍历不同的字段,这样我就可以将15 If-Else If个语句压缩成类似下面的内容

For i = 2 to 15
    Dim fieldname as String
    fieldname = "foo " + i
    If conditionMet(MyTableRecordSet![fieldname]) Then
         'Update another column
    End If
Next i

但我知道如果我这样做,VBA将寻找一个名为“fieldname”的字段,它不会按照我的意愿插入变量的值。有没有办法在那里获得变量的值?如果没有,是否有另一种方法可以在没有太多If-Else If语句的情况下系统地记录记录的值?

1 个答案:

答案 0 :(得分:1)

尝试以下代码

For i = 2 To 15
    Dim fieldname As String
    fieldname = "foo " & i
    If conditionMet(MyTableRecordSet(fieldname)) Then
         'Update another column
    End If
Next i