Access 2002

Процедура testlock


Если значение не меняется, форма не закрывается. А поскольку Access не может закрыть базу данных, не закрыв все ее формы, база данных остается открытой. Чтобы вы могли посмотреть, как все это работает, в приложение Excel включена процедура TestLock, которая подключается к Access и открывает форму frmLock. Ее код приведен  11.13.

Процедура TestLock открывает форму frmLock, но в скрытом состоянии, чтобы пользователь не мог найти ее и попытаться закрыть. Впрочем, это ненадежный способ. Если вы действительно хотите скрыть окно формы от пользователя, присвойте ее свойству BorderStyle значение Dialog. Тогда формы не будет в диалоговом окне, открываемом по команде Window  Unhide.

Итак, если вы захотите защитить свои приложения с помощью описанной в этом разделе технологии, скопируйте форму frmLock в файлы баз данных Access.

Разрабатывая приложение, выступающее клиентом по отношению к Access, следите за тем, чтобы инициируемые им действия программы не требовали пользовательского ввода. Хорошим примером того, какими могут быть последствия, является отчет Employee Sales by Country из базы данных NORTHWIND.MDB. Этот отчет основан на запросе с параметрами, и для его формирования и печати Access запрашивает у пользователя диапазон дат. Если попытаться открыть отчет из другого приложения, особенно когда главное окно Access скрыто, произойдет ошибка в результате тайм-аута клиента автоматизации. Поэтому в данном случае как минимум необходимо вывести окно Access на экран, чтобы пользователь мог что-то ввести, пока приложение-клиент ожидает ответа сервера. Ну, а лучше всего не вызывать методы, выполнение которых может быть задержано из-за обращения к пользователю.

Комментарии закрыты