Можно ли использовать переменную для имени Поля при использовании AddNew в наборе записей?


Я использую набор записей DAO для обновления таблицы из-за проблем enocuntered здесь.

Это прекрасно работает, когда я знаю имя поля, которое я обновляю, например:

rs2.AddNew
rs2![ContactID] = rs.Fields(0).Value
rs2![Fee Protection Insurance] = "" & strValue & ""
rs2.Update

Работает отлично.

Однако поле, которое я пытаюсь обновить, не всегда будет иметь одно и то же имя, поэтому я попытался использовать переменную и здесь, ожидая, что она будет вычисляться и будет эквивалентна приведенному выше коду:

rs2.AddNew
rs2![ContactID] = rs.Fields(0).Value
rs2!["strFieldName"] = "" & strValue & ""
rs2.Update

Но это говорит мне, что этого предмета нет в коллекции, даже когда strFieldName устанавливается для защиты плата за страхование.

Я пробовал это различными способами, в том числе:

rs2![" & strFieldName & "] = "" & strValue & ""

rs2![strFieldName] = "" & strValue & ""

rs2!["" & strFieldName & ""] = "" & strValue & ""

rs2![cStr(strFieldName)] = "" & strValue & ""

Ничего из этого не работает.

Я иду по неверному пути или пытаюсь сделать что-то невозможное?
2 3

2 ответа:

Попробуйте использовать вот это:

rs2.Fields(strFieldName) = "" & strValue & ""

Очень простой ответ да вы можете получить доступ к именам переменных полей. Например: У меня есть форма, которая имеет несколько кнопок... Вот как их назвать и получить к ним доступ.

Назовите каждую кнопку в вашей форме: MyButton (1) через MyButton (X) Код помещает номер на каждую кнопку, изменяя заголовок. stButton-строковое значение имени кнопки

X=10

Для Btn = 1 К X

Set StButton = Me ("MyButton" & " ("&Btn &")")

StButton.Подпись = Btn

Следующий Btn