Можно ли использовать переменную для имени Поля при использовании 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 ответа:
Очень простой ответ да вы можете получить доступ к именам переменных полей. Например: У меня есть форма, которая имеет несколько кнопок... Вот как их назвать и получить к ним доступ.
Назовите каждую кнопку в вашей форме: MyButton (1) через MyButton (X) Код помещает номер на каждую кнопку, изменяя заголовок. stButton-строковое значение имени кнопки
X=10
Для Btn = 1 К X
Set StButton = Me ("MyButton" & " ("&Btn &")")
StButton.Подпись = Btn
Следующий Btn