Access 2007 VBA Listbox Lag после изменения данных БД или Requery - PullRequest
1 голос
/ 08 сентября 2011

У меня возникла чрезвычайно раздражающая проблема, которая недавно начала происходить.

Мой список не обновляется сразу.Например, в моей основной форме «A» есть список с оператором sql (Simple ... возвращает 5-20 строк).У меня есть кнопка редактирования, которая при нажатии открывает новую форму для изменения данных.Эта форма отправляет запрос на обновление, а затем вызывает глобальную функцию, которая запрашивает все связанные списки (те, что в форме A).Единственная проблема заключается в том, что список не меняется и кажется зависает.если я выбираю список и постоянно нажимаю клавишу f5, через несколько секунд он будет случайным образом корректно обновляться.

Кто-нибудь знает, в чем проблема?

Я устранял эту проблему в течение двух днейТеперь я знаю, что это не проблема сети, поскольку это также происходит локально: использование набора записей и его циклическое задание для ручной установки значений списка работает быстро, но по какой-то причине все мои списки в моем приложении делают это.

это настройка, которую я случайно изменил или если вы определяете для многих отношений это происходит (я недавно добавил другую таблицу)?

РЕДАКТИРОВАТЬ: Забыл упомянуть, что БД находится на общем диске и только 2 МБ, только недавноон начал это делать.

1 Ответ

2 голосов
/ 08 сентября 2011

Я в конце концов нашел проблему, надеюсь, это поможет кому-то в будущем.

Это было связано с использованием:

CurrentDB.Execute

этот метод работает синхронно в фоновом режиме, поэтому список обновлялся до завершения SQL UPDATE / INSERT / DELETE.

Чтобы исправить это, я вместо этого использовал:

Docmd.RunSQL

Это решило проблему, однако я заметил, что этот метод работает только в базах данных Microsoft Access.

...