Иллюстрированный самоучитель по Microsoft Access 2002

Организация совместного доступа к данным и объектам

Методы управления блокировками записей

Пока один пользователь редактирует запись, Access позволяет автоматически запретить другим пользователям изменять ее до тех пор, пока первый пользователь не закончит ее правку. Предоставление одному пользователю исключительного права доступа к записи называется блокировкой.

Существует три параметра блокировки записей в базе данных Access.

  • Отсутствует (No Locks). Изменяемая запись не блокируется. При попытке сохранить измененную запись, которую в это же время изменил другой пользователь, на экране появляется сообщение, предлагающее следующие возможности: сохранить данный вариант записи, уничтожив изменения, внесенные другим пользователем; скопировать свою, измененную запись в буфер обмена; отказаться от собственных изменений. Этот параметр позволяет изменять записи в любое время, но при внесении изменений разными пользователями могут возникать конфликты.
  • Изменяемой записи (Edited Records). Microsoft Access блокирует изменяемую в данный момент запись, не позволяя изменять ее другим пользователям. Заблокированными могут оказаться также записи, расположенные рядом на диске. Если другой пользователь попытается изменить заблокированную запись, в его объекте в режиме Таблицы появится маркер заблокированной записи (перечеркнутый круг– третий значок в табл. 16.1). Данный параметр гарантирует завершение всех начатых изменений. Это хороший выбор, если конфликты совместного доступа к записи с другими пользователями возникают редко.
  • Всех записей (All Records). Microsoft Access блокирует все записи формы или объекта в режиме Таблицы (и базовых таблиц) на весь период их открытия, поэтому другие пользователи не могут изменить или заблокировать записи. Этот параметр накладывает слишком жесткие ограничения. Его следует использовать только в тех случаях, когда есть уверенность, что конкретно вы имеете приоритетное право на изменение записей.

Замечание
При редактировании данных из присоединенных таблиц SQL Server через ODBC применяются параметры блокировки записей этого сервера, а установленный параметр блокировки в Access игнориуется, будто выбран параметр "отсутствие блокировки"
.

Чтобы установить параметр блокировки записей в сети, используемый по умолчанию:

  1. Выберите команду Сервис › Параметры (Tools › Options). Появится диалоговое окно Параметры (Options).
  2. Раскройте вкладку Другие (Advanced) (рис. 16.3).
  3. В группе Блокировка по умолчанию (Default record locking) выберите необходимый переключатель.

Существует возможность выбора одного из двух уровней блокировки:

  • Блокировка записей. Блокируется только редактируемая запись.
  • Блокировка страниц. Блокируется страница памяти на диске, которая может содержать несколько соседних записей (4 Кбайт памяти на страницу).

Иллюстрированный самоучитель по Microsoft Access 2002 › Особенности сетевых приложений Access › Организация совместного доступа к данным и объектам
Рис. 16.3. Вкладка Другие диалогового окна Параметры

Чтобы задать уровень блокировки, используемый по умолчанию, установите флажок Блокировка записей при открытии БД (Open databases using record-level locking) на вкладке Другие (Advanced) диалогового окна Параметры (Options) если нужна блокировка на уровне записей, или сбросьте этот флажок если нужна блокировка на уровне страниц.

Замечание
Установленный параметр начнет действовать, когда база данных будет открыта заново с помощью команды Файл › Открыть (File › Open), а не с помощью списка последних использованных файлов
.

Внимание
Блокировка на уровне записей действует только при доступе к данным через формы, страницы таблиц и запросов или с помощью объекта Recordset. Данный режим не влияет на выполнение запросов и инструкций SQL
.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.