Шаг 49 - Метод CreateUser

Описание
Создает новый объект User (только в рабочей области ядра Microsoft Jet).

Set пользователь = объект.CreateUser (имя, код, пароль)

Параметры
пользователь
Объектная переменная, представляющая создаваемый объект User.
объект
Объектная переменная, представляющая объект Group или Workspace, который используется при создании нового объекта User.
имя
Необязательный. Выражение или переменная типа Variant (подтип String), содержащая уникальное имя нового объекта User. Дополнительные сведения о допустимых именах объекта User приведены в разделе для свойства Name.
код
Необязательный. Выражение или переменная типа Variant (подтип String), содержащая код учетной записи пользователя. Код пользователя должен содержать от 4 до 20 букв или цифр. Дополнительные сведения приведены в разделе для свойства PID.
пароль
Необязательный. Выражение или переменная типа Variant (подтип String), содержащая пароль для нового объекта User. Пароль может содержать до 14 любых символов кроме пустого символа ASCII 0. Дополнительные сведения о допустимых паролях приведены в разделе для свойства Password.

Замечания
Если один или несколько необязательных элементов синтаксиса опущены при вызове метода CreateUser, допускается использование соответствующих инструкций присваивания для задания или изменения значения соответствующего свойства перед добавлением нового объекта в семейство. После добавления нового объекта в семейство можно будет изменить значения некоторых (но не всех) его свойств. Дополнительные сведения приведены в разделах, посвященных свойствам PID, Name и Password.
Если аргумент имя указывает на объект, который уже добавлен в семейство, то при вызове метода Append возникает ошибка выполнения.
Для удаления объекта User из семейства Users следует применить метод Delete к семейству.

Пример
В данном примере иллюстрируется использование объектов Group и User, а также семейств Groups и Users. Вначале новый объект User создается и добавляется в семейство Users стандартного объекта Workspace. Затем новый объект Group создается и добавляется в семейство Groups стандартного объекта Workspace. Далее в программе пользователь Иван Иванов добавляется в группу "Подследственные". И наконец, выводится перечень компонентов семейств Users и Groups стандартного объекта Workspace. Дополнительные примеры см. в разделах справки для свойств и методов объектов Group и User.

Sub GroupX()

	Dim wrkDefault As Workspace
	Dim usrNew As User
	Dim usrLoop As User
	Dim grpNew As Group
	Dim grpLoop As Group
	Dim grpMember As Group

	Set wrkDefault = DBEngine.Workspaces(0)

	With wrkDefault

		' Создает и добавляет нового пользователя.
		Set usrNew = .CreateUser("Иван Иванов", "abc123DEF456", "Пароль1")
		.Users.Append usrNew
		' Создает и добавляет новую группу.
		Set grpNew = .CreateGroup("Подследственные", "UVW987xyz654")
		.Groups.Append grpNew
		' Включает пользователя Иван Иванов в группу 
		' "Подследственные" и добавляет соответствующий 
		' объект Group в семейство Groups пользователя.
		' Тот же результат можно получить, если объект User,
		' представляющий пользователя с именем Иван Иванов,
		' добавляется в семейство Users группы  "Подследственные".
		Set grpMember = usrNew.CreateGroup("Подследственные")
		usrNew.Groups.Append grpMember
		Debug.Print "Семейство Users:"
		' Перечисление все объектов User в семействе
		' Users стандартной рабочей области.
		For Each usrLoop In .Users
			Debug.Print "    " & usrLoop.Name
			Debug.Print "        Принадлежит к группам:"
			' Перечисление все объектов Group в каждом семействе
			' Groups объекта User.
			If usrLoop.Groups.Count <> 0 Then
				For Each grpLoop In usrLoop.Groups
					Debug.Print "            " & 	grpLoop.Name
			Next grpLoop
			Else
				Debug.Print "            [Отсутствует]"
			End If

		Next usrLoop

		Debug.Print "Семейство Groups:"

		' Перечисление все объектов Group в семействе
		' Groups стандартной рабочей области.
		For Each grpLoop In .Groups
			Debug.Print "    " & grpLoop.Name
			Debug.Print "        Содержит членов:"

			' Перечисление все объектов User в каждом семействе
			' Users объекта Group.
			If grpLoop.Users.Count <> 0 Then

			For Each usrLoop In grpLoop.Users
					Debug.Print "            " & usrLoop.Name
				Next usrLoop
			Else
				Debug.Print "            [Отсутствует]"
			End If

		Next grpLoop

		' Удаляет новые объекты User и Group, 
		' созданные только для демонстрации.
		.Users.Delete "Иван Иванов"
		.Groups.Delete "Подследственные"
	End With
End Sub

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