Шаг 44 - Свойство UserName

Описание
Задает или возвращает значение, представляющее пользователя, группу пользователей или владельца объекта Workspace.

Значение
Задаваемое или возвращаемое значение является выражением типа String, значением которого является имя пользователя. В рабочей области Microsoft Jet это значение представляет объект User из семейства Users или объект Group из семейства Groups. Для объектов Microsoft Jet Container и Document данное свойство доступно для чтения/записи. Для любых объектов Workspace это свойство доступно только для чтения.

Замечания
В зависимости от типа объекта, значение свойства UserName представляет:

  1. Владельца объекта Workspace.
  2. Пользователя или группу пользователей при определении разрешений для объекта Container или объекта Document (только в рабочей области Microsoft Jet).

Для того, чтобы прочитать или установить разрешения для конкретного пользователя или группы пользователей, следует сначала указать в свойстве UserName соответствующее имя пользователя или группы. После этого следует проверить значение свойства Permissions, чтобы узнать, какие разрешения имеет пользователь или группа, или задать другие разрешения с помощью свойства Permissions.

Для объекта Workspace проверка значения свойства UserName позволяет определить владельца данной рабочей области. Значение свойства UserName позволяет определить владельца данной рабочей области. Значение свойства задается для указания владельца объекта Workspace перед добавлением объекта в семейство Workspaces.

Пример
Следующая программа использует свойство UserName, чтобы изменить разрешения, которые конкретный пользователь имеет на объект, и проверить, может ли пользователь добавлять новые данные в этот объект.

Sub UserNameX()
	' Проверяет, доступен ли файл системной 
	' базы данных Microsoft Jet.
	DBEngine.SystemDB = "system.mdw"
	Dim dbsNorthwind As Database
	Dim docTemp As Document

	Set dbsNorthwind = OpenDatabase("Борей.mdb")
	Set docTemp = 	dbsNorthwind.Containers("Tables").Documents(0)

	' Изменяет разрешения, которые "НовыйПользователь" имеет на 
	' первый объект Document в контейнере Tables.

	With docTemp
		.UserName = "НовыйПользователь"
		.Permissions = dbSecRetrieveData
		If (.Permissions And dbSecInsertData) = dbSecInsertData Then
			Debug.Print .UserName & " может вставлять данные."
		Else
			Debug.Print .UserName & " не может вставлять данные."
		End If
	End With
	dbsNorthwind.Close

End Sub

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем.