Установка режима монопольного доступа к базе данных
Автор: Дмитрий Сонных sonni-dim@mail.ru
С помощью кода DAO можно заблокировать
доступ ко всей базе целиком. Это необходимо в тех случаях, когда
требуется изменить структуру базы данных, произвести архивацию или
просто запретить к ней доступ в течении некоторого времени.
Для ограничения доступа ко всей базе данных с помощью DAO следует
использовать метод OpenDatabase. (по материалам Дж. П. Мак-Манус
"Обработка баз данных на VB6")
' Поскольку область действия блокировки определяется областью ' видимости соответствующей переменной, по помещаем в модуль ' описание переменной Public dbProtect As Database ' Может быть узнана несколькими способами - через DAO, ADO или задана ' жестко (В этом примере не приводится) Public strPathDB As String
' На событие Click вешаем обработку
Private Sub cmdExclusive_Click() ' монопольного доступа к базе, указанной в strPathDB ' при повтрном - снимается. ' Переменная strPathDB должна быть уже определена Dim strPath As String On Error GoTo Err_cmdExclusive_Click
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
|