MS-Access: Как обновить sh форму после обновления данных? - PullRequest
0 голосов
/ 04 августа 2020

У меня есть запрос, представленный в виде таблицы. Кроме того, у меня есть кнопка, которая открывает другую форму, где вы можете управлять сохраненными данными. Как только эта форма закроется, я хотел бы, чтобы запрос в другой форме обновлялся макросом. Я попробовал пару макросов. Ничего не получилось. Я думал, что могу использовать макрос запроса с моей подчиненной формой в качестве параметра, но даже это не сработало. Что я могу сделать?

Данные обновляются, только когда я нажимаю «refre sh all», но это должно происходить автоматически.

1 Ответ

0 голосов
/ 05 августа 2020

Хорошо, как это сделать?

Если вы просто редактируете данные? (без добавления новых строк) в эту сетку?

Ваш код для запуска второй формы будет выглядеть так:

me.Refresh   - optional but REQUIRED if you do allow editing in the gride.
docmd.OpenForm "frmDetailsEdit",,,"ID = " & Me!ID,,acDialog
me.refresh   - this will show any data changes you made in the 2nd dialog form

Обратите внимание: вам не нужен первый me.Refre sh ЕСЛИ вы не разрешили редактирование в отображении данных / сетки. AcDialog заставит код WAIT / HALT, пока пользователь не закончит редактирование во 2-й форме.

Последний me.refre sh обновит любые изменения данных, и он также будет держать указатель reocrd включенным. в той же текущей строке.

Однако, если ваша вторая диалоговая форма, запущенная ТАКЖЕ, позволяет добавлять записи, тогда me.refre sh НЕ будет отображать вновь добавленные записи.

Если вы разрешите добавление? Затем вам нужно выполнить me.Requery в этой последней строке вместо me.refre sh. Это перезагрузит форму на основе ее запроса, но вы ТАКЖЕ потеряете текущую позицию. Вы можете, если sh измените положение указателя / местоположения записи, если вам нужно, но мы пока не знаем, нужна ли вам эта возможность.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...