Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Применение блокировок для предотвращения наложения обновлений




Если накладывающиеся изменения вызывают слишком много проблем, у вас есть еще одна возможность. Можно применить программный трюк, именуемый блокировкой, препятст­вующей наложению корректировок.

По существу блокировка использует ту же идею, которая мешает двум людям встретить­ся в одной туалетной кабинке. Когда один человек заходит, он или она включает блокировку и все остальные вынуждены ждать, пока дело не будет сделано. Аналогичным образом, когда пользователь пытается изменить запись, программа Access начинает с установки блокиров­ки этой записи. Любой другой пользователь, желающий внести изменения, вынужден ждать, пока не завершится первая операция.

Самый легкий способ применения блокировок — включение их с помощью параметров Access. Для этого выберите кнопку Office → Параметры Access (Office Access Options), Затем перейдите к категории Дополнительно (Advanced) и найдите параметр Блокировка по умолчанию (Default record locking).


У вас есть три следующих варианта для выбора.

§ Вариант Отсутствует (No locks) — это стандартная установка в программе Access. Когда применяется этот вариант, Access вообще не будет использовать блокировки и наложе­ние корректировок становится возможным.

■ Вариант Всех записей (All records) заставляет программу Access блокировать всю таблицу целиком, если кто-либо начнет редактировать запись. Это значение применяется крайне редко, поскольку оно блокирует все записи и препятствует работе с таблицей кого бы то ни было, если вносится хотя бы одно изменение. Такое ограничение может ввести любую организацию в тяжелый ступор.

■ Вариант Изменяемой записи (Edited record) блокирует отдельные записи, когда они редактируются, что препятствует наложению корректировок.


Последний вариант — наиболее распространенный вид блокировок. Когда применяется блокировка отдельных записей, программа Access не разрешит начать редактирование запи­си, если в данный момент кто-то еще ее изменяет. Когда вы сделаете попытку, Access выве­дет на экран пиктограмму, обозначающую блокировку записи, показанную на рис. 18.12.

 

Рис. 18.12. Символ "Вход воспрещен" предупреждает о необходимости ожидания вместо редактирования записи, которая уже используется. Если вы все же попытаетесь ввести данные в поле, программа Access решительно проигнорирует вашу попытку

 

 

Блокировки мешают превращению вашей БД в груду беспорядочных сведений, но они порождают другие проблемы. Программа Access вынуждена выполнять дополнительную работу по отслеживанию каждой блокировки — она должна действовать как перегруженный работой "умывальников начальник", выдающий ключи от кабинок. Access отслеживает бло­кировки, создавая файл с расширением laccdb. Например, когда кто-то в первый раз откры­вает БД с многопользовательской поддержкой BoutiqueFudge_be.accdb, программа Access создает файл, названный BoutiqueFudge_be.laccdb. (Символ "l" обозначает "locking" (блокировка).) Когда последний пользователь закрывает БД, Access удаляет файл с блоки­ровками.

 

Подсказка

Если вы загляните в папку с общим доступом и не увидите там файла с расширением laccdb, знайте, что в этот момент никто не использует БД или же кто-то открыл ее с монопольным дос­тупом (Exclusive mode).


Кроме того, блокировки тормозят работу остальных пользователей, заставляя их ждать нужные им данные. Небрежный пользователь может прекратить работу с записью на неоп­ределенное время, оставив ее в режиме редактирования.

 

 

Примечание

Отправляясь на перерыв, вы можете свернуть работу всей компании, даже не догадываясь об этом. Еще хуже то, что хотя потенциальные редакторы будут видеть, что запись заблокирова­на, они никак не смогут установить кто — причина их бед. Им остается только ждать и ждать.

 

 

Если вы все же решили применять блокировки, гораздо лучше использовать их в от­дельных формах, а не включать во всех БД с помощью параметров программы Access. Мож­но использовать для всей БД стандартное значение для блокировки Отсутствует (No locks), но задать применение блокировок во всех формах, использующих особенно важную таблицу, скажем Invoices (счета).

Для изменения способа обработки блокировок в формах откройте Окно свойств (Property Sheet) и найдите свойство Блокировка записей (Record Locks). Оно поддержива­ет те же три значения: Отсутствует (No Locks) (значение по умолчанию), Всех записей (All Records) и Изменяемой записи (Edited Record).

 

 

Примечание

Этот прием оставляет открытой дверь черного хода. Если кто-то решит внести изменение, от­крыв непосредственно таблицу, он обойдет блокировки, которые вы установили в своих фор­мах. Как всегда, людей легко направить верным путем, но трудно удержать их на этом пути.

 

 





Поделиться с друзьями:


Дата добавления: 2016-03-28; Мы поможем в написании ваших работ!; просмотров: 642 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Ваше время ограничено, не тратьте его, живя чужой жизнью © Стив Джобс
==> читать все изречения...

2264 - | 2207 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.