![Форма MS Access не отражает последние обновления данных в FrontEnd Forms Split Database](https://rvso.com/image/1597836/%D0%A4%D0%BE%D1%80%D0%BC%D0%B0%20MS%20Access%20%D0%BD%D0%B5%20%D0%BE%D1%82%D1%80%D0%B0%D0%B6%D0%B0%D0%B5%D1%82%20%D0%BF%D0%BE%D1%81%D0%BB%D0%B5%D0%B4%D0%BD%D0%B8%D0%B5%20%D0%BE%D0%B1%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D1%8F%20%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D1%85%20%D0%B2%20FrontEnd%20Forms%20Split%20Database.png)
У меня есть front-end и back-end для моей базы данных Access. Код VBA, формы, запросы и т. д. находятся на front-end, а таблицы на back-end. Back-end находится на сервере, около 5 разных пользователей используют копии front-end на своих локальных компьютерах.
Когда они изменяют или вводят какие-то данные, они отображаются/отражаются довольно мгновенно в таблице в бэкэнде, однако эти данные не сразу доступны в формах. Я не уверен, почему это происходит. Я могу видеть обновленные данные в конечном итоге в формах, но не сразу, как я вижу в таблицах. (Например, скажем, выпадающий список, который извлекает данные из таблицы в бэкэнде).
Есть ли таблица или запрос, которые я могу использовать/изменить, чтобы увидеть, как часто обновляется моя база данных (как для таблиц, так и для форм)? Также я хочу улучшить производительность моей разделенной базы данных, сейчас она работает очень медленно. Любые наводки помогут.
решение1
Разделить frontend от backend — хорошее решение. То, что БД работает медленно, может иметь много причин. Но в основном это сеть или плохой дизайн.
Когда вы снова открываете форму, она показывает новые данные? Напоминаю, что Comboboxes и Listboxes кэшируют данные.
Метод Requery обновляет данные, лежащие в основе указанного элемента управления, находящегося в активной форме, путем повторного запроса источника данных для элемента управления.
См. эту статьюhttps://docs.microsoft.com/de-de/office/vba/api/access.combobox.requery