|
|||||||
Объект Workspace
Время создания: 16.03.2019 23:43
Текстовые метки: vba, DAO, CreateWorkspace, Workspace
Раздел: Разные закладки - VBA - Access - DAO
Запись: xintrea/mytetra_db_adgaver_new/master/base/1513855936ctpqw89rl7/text.html на raw.githubusercontent.com
|
|||||||
|
|||||||
www.ПЕРВЫЕ ШАГИ.ru :: Шаг 37 - Объект Workspace Описание Замечания
Кроме того, при работе с базой данных Microsoft Jet имеется возможность установить систему защиты, основанную на использовании имен пользователей и паролей:
При первой ссылке или первом вызове объекта Workspace автоматически создается стандартная рабочая область DBEngine.Workspaces(0), в которой свойства Name и UserName по умолчанию получают значения, соответственно, "#Default Workspace#" и "Admin". Если система защиты баз данных активизирована, то значением свойства UserName становится имя подключенного пользователя. Для создания объекта Workspace ODBCDirect, позволяющего избежать загрузки ядра базы данных Microsoft Jet в память, следует задать константу dbUseODBC в свойстве DefaultType объекта DBEngine или в аргументе тип метода CreateWorkspace. В транзакциях участвуют все базы данных, входящие в состав данного объекта Workspace, даже если при этом открыто несколько объектов Database. Например, если пользователь вызывает метод BeginTrans, обновляет несколько записей в базе данных, а затем удаляет записи в другой базе данных, то при вызове метода Rollback свертываются (отменяются) и операции удаления, и операции обновления. Для того чтобы транзакции выполнялись независимо для разных объектов Database, следует создать или открыть независимые объекты Workspace. Объекты Workspace создаются с помощью метода CreateWorkspace. Если предполагается ссылаться на новый объект Workspace через семейство, то необходимо после создания объекта добавить этот объект в семейство Workspaces. Допускается также использование нового объекта Workspace без его добавления в семейство. Ссылки на объект при этом осуществляются через объектную переменную, которой присвоен объект. При ссылках на объект Workspace используют его порядковый номер в семействе или значение свойства Name (имя): DBEngine.Workspaces(0)
DBEngine.Workspaces("имя")
DBEngine.Workspaces![имя]
Пример Sub CreateWorkspaceX()
Dim wrkODBC As Workspace
Dim wrkJet As Workspace
Dim wrkLoop As Workspace
Dim prpLoop As Property
' Создает рабочую область ODBCDirect. До создания рабочей ' области Microsoft Jet, ядро базы данных Microsoft Jet
' не будет загружено в память.
Set wrkODBC = CreateWorkspace("ODBCWorkspace", "admin", "", dbUseODBC)
Workspaces.Append wrkODBC
DefaultType = dbUseJet
' Создает безымянный объект Workspace с типом, ' указанным в свойстве DefaultType объекта DBEngine
' (dbUseJet).
Set wrkJet = CreateWorkspace("", "admin", "")
' Отображает семейство Workspaces.
Debug.Print "Объекты Workspace в семействе Workspaces:"
For Each wrkLoop In Workspaces
Debug.Print " " & wrkLoop.Name
Next wrkLoop
With wrkODBC
' Отображает семейство Properties объекта ODBCDirect. Debug.Print "Свойства " & .Name
On Error Resume Next
For Each prpLoop In .Properties
Debug.Print " " & prpLoop.Name & " = " & prpLoop
Next prpLoop
On Error GoTo 0
End With
With wrkJet
' Отображает семейство Properties рабочей области ' Microsoft Jet.
Debug.Print "Свойства безымянной рабочей области Microsoft Jet"
On Error Resume Next
For Each prpLoop In .Properties
Debug.Print " " & prpLoop.Name & " = " & prpLoop
Next prpLoop
On Error GoTo 0
End With
wrkODBC.Close
wrkJet.Close
End Sub
|
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|