Access Web App - Как обновить пользовательский интерфейс после изменения данных с помощью макроса данных?
Давайте предположим, что у меня есть Access Web App с тремя таблицами: Group, Person и Task, которые выглядели бы примерно так при использовании обычной клиентской базы данных Access:
В этом приложении макросы данных запускаются при каждом изменении таблицы задач. Если, например, новая задача добавлена, и ей назначен сотрудник, поле " Рабочая нагрузка" назначенного сотрудника увеличивается в соответствии с предполагаемой рабочей нагрузкой задачи. Аналогичные изменения будут выполнены, если записи задач будут изменены или удалены.
Так как мой вопрос связан с пользовательским интерфейсом, я также привожу некоторые подробности об интерфейсе:
Представление для группы содержит элемент управления "связанные элементы", в котором отображаются все члены группы. Этот элемент управления "связанные элементы" позволяет открыть всплывающее окно для выбранного лица.
Это всплывающее окно - опять же - содержит элемент управления "связанные элементы", отображающий все назначенные задачи.
А теперь к моей актуальной проблеме:
Если я сейчас отредактирую предполагаемую рабочую нагрузку задачи, изменения в записи Person фактически сохраняются в базе данных, но не отражаются в пользовательском интерфейсе, пока я не перезагрузлю веб-страницу вручную.
Поэтому мой вопрос сводится к следующему: как я могу убедиться, что изменения, вызванные в настоящее время в таблице Person макросами данных таблицы Task, отражаются в пользовательском интерфейсе без перезагрузки страницы?
2 ответа
Нет, вам не нужно иметь кнопку (хотя это может быть полезно для других целей). Просто добавьте запрос в свойство "После обновления" поля, которое вы обновляете.
Вам нужен макрос пользовательского интерфейса, который повторно запускает запрос, чтобы отобразить его на стороне пользовательского интерфейса. Действие называется RequeryRecords.
Вы можете опустить "условия", оставив поля пустыми, что просто запускает обычный запрос выбора.
Этот видеоурок поможет, он немного длинный.