Access 2013: попытка написать макрос для обновления полей формы из результата запроса

Я пытаюсь создать макрос для обновления значения поля в форме на основе результатов запроса.

Я совершенно новичок в работе с VBA в Access, поэтому я прошу прощения, если я задаю основной вопрос.

Следует отметить, что "тестовый" запрос возвращает ровно один результат. По сути, он используется аналогично VLookup.

В настоящее время мой код выглядит так:

Private Sub UpdateBasic_Click()
  Dim bucket As String
  DoCmd.OpenQuery "test", acViewNormal, acReadOnly
  'this line is meant to record the result of the query into a variable. It is not working but I haven’t found the right command to get it to pick up the data yet.
  bucket = A1
  DoCmd.Close acQuery, "test", acSaveNo
  DoCmd.OpenForm "BasicData", acNormal, , , acFormEdit, acWindowNormal, "Global_ID = 'sdkfa'"
  'this line is meant to update the value of the field on the form.
  DoCmd.SetProperty testfield, acPropertyValue, bucket
End Sub

Мне не повезло заставить команду SetProperty работать вообще. Это постоянно говорит мне, что у меня есть несоответствие типов данных независимо от того, пытаюсь ли я дать ему переменную, такую ​​как bucket, или значение, подобное 10. Сообщение об ошибке выглядит следующим образом:

Ошибка времени выполнения "2948": введенное вами выражение имеет неверный тип данных для одного из аргументов.

Любая помощь будет принята с благодарностью.

1 ответ

DoCmd.SetProperty testfield, acPropertyValue, bucket

Используя приведенный выше код, вы пытаетесь установить property для контроля, а не изменить value, Свойство будет цвет фона, высота, ширина и т. Д.

Если вы хотите установить значение, вам просто нужно использовать me функция для ссылки на элемент управления в форме.

me.testfield = bucket

Это говорит о доступе к заполнению элемента управления с именем testfield со значением, удерживаемым переменной bucket,

Примечание: вам может понадобиться добавить me.refresh после этой команды, чтобы получить форму для обновления полей.

Другие вопросы по тегам