2013-10-12 6 views
0

Мне нужно пройти через таблицу и протестировать 14 разных полей для определенного значения. Все эти поля имеют аналогичное имя, например. foo 1, foo 2, foo 3 и т.д.Iterate Through Recordset in Access 2010 VBA

Я хочу использовать цикл для перебора различных областей, чтобы я мог конденсироваться 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

Try ниже код

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

Спасибо так много! Я редко программирую в VBA, поэтому я не знаком с его особенностями. – ahjohnston25