MyTetra Share
Делитесь знаниями!
Установка режима монопольного доступа к базе данных
Время создания: 16.03.2019 23:43
Раздел: !Закладки - VBA - Access - msa.polarcom.ru - 01 Базы Данных
Запись: xintrea/mytetra_db_adgaver_new/master/base/1531933027m65218p9du/text.html на raw.githubusercontent.com

Установка режима монопольного доступа к базе данных

Автор: Дмитрий Сонных sonni-dim@mail.ru

      С помощью кода DAO можно заблокировать доступ ко всей базе целиком. Это необходимо в тех случаях, когда требуется изменить структуру базы данных, произвести архивацию или просто запретить к ней доступ в течении некоторого времени.
   Для ограничения доступа ко всей базе данных с помощью DAO следует использовать метод OpenDatabase. (по материалам Дж. П. Мак-Манус "Обработка баз данных на VB6")

' -----------------------------------------------------------

' Поскольку область действия блокировки определяется областью

' видимости соответствующей переменной, по помещаем в модуль

' описание переменной

Public dbProtect As Database

' strPathDB - переменная, описывающая путь к подключенной базе данных

' Может быть узнана несколькими способами - через DAO, ADO или задана

' жестко (В этом примере не приводится)

Public strPathDB As String


' Помещаем на форме кнопку. Называем её cmdExclusive

' На событие Click вешаем обработку


Private Sub cmdExclusive_Click()

' При первом нажатии кнопки устанавливается режим

' монопольного доступа к базе, указанной в strPathDB

' при повтрном - снимается.

' Переменная strPathDB должна быть уже определена

Dim strPath As String

On Error GoTo Err_cmdExclusive_Click


' Проверяем инициализацию объекта dbProtect

If dbProtect Is Nothing Then

' Устанавливаем режим монопольного доступа

Set dbProtect = OpenDatabase(strPath, True)

' можете установить какой-либо признак включения

' монопольного доступа. Я лично меняю надпись на кнопке

Else

' Снимаем режим монопольного доступа

dbProtect.Close

Set dbProtect = Nothing

' убирается признак монопольного доступа

End If


Exit_cmdExclusive_Click:

Exit Sub


Err_cmdExclusive_Click:

' Попытка сделать монопольной уже открытую БД

' Err=3356

MsgBox Err.Description

Resume Exit_cmdExclusive_Click


End Sub




Назад ToTop

 
MyTetra Share v.0.59
Яндекс индекс цитирования