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

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

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

Я должен упомянуть, что запрос" test " возвращает ровно один результат. Это по существу используется подобно 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’: введенное выражение имеет неверный тип данных для одного из аргументов.

любая помощь будет оценена.

9
задан Cfinley
29.01.2023 18:23 Количество просмотров материала 2386
Распечатать страницу

1 ответ

DoCmd.SetProperty testfield, acPropertyValue, bucket

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

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

me.testfield = bucket

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

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

0
отвечен CharlieRB 2023-01-31 02:11

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх