Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > блокировка базы


Автор: ops 8.5.2007, 12:42
Здравствуйте.
Есть 1 база на Access, к которой одновременно обращаются несколько человек по сети. Дело в том, что мне удобно в некоторой форме програмно по событию менять надписи в пользовательском меню, типа:
Form_Current()
  CommandBars(i).Controls(j).Caption="text".
End Sub
Проблема возникает, если в этот момент база запущена только на одном компе - тогда он блокирует вход всем остальным. И если другой человек пытается зайти - он получает "База на компьютере Х была приведена в состояние, препятствующее её открытию или блокировке". И надо компу Х закрывать базу, запускать другого человека, а потом открывать заново. Если же в базе был кто-то ещё - никаких проблем. А значит, принципиальной необходимости Акцессу так блокировать - нету.
Что посоветуете?
Как я понимаю, такое изменение параметров формы приводит к чему-то вроде включения режима отладки, что, понятно, требует монопольного доступа к базе.
Может, типа, есть какая-нибудь глобальная установка вроде Connection.EditState или IsBlocked, которую можно опрокидывать, или ещё как?
В принципе, я согласен и на другой, более щадящий способ смены надписи в пользовательском меню, если есть таковой.

Автор: bopoha 9.5.2007, 18:24
Вариант разделить mdb на две части: интерфейс и данные. Интерфейсная часть у каждого будет своя. Проблемы отпадуть сами собой.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)