Метод Database.CreateProperty (DAO)
Область применения: Access 2013, Office 2013
Создает новый определяемый пользователем объект Property (только для рабочих областей Microsoft Access). .
Синтаксис
expression . CreateProperty(Name, Type, Value, DDL)
выражение: переменная, представляющая объект Database.
Параметры
Имя |
Обязательный/необязательный |
Тип данных |
Описание |
---|---|---|---|
Name |
Необязательно заполнять. |
Variant |
Строка, которая однозначно присваивает имя новому объекту Property. Сведения о допустимых именах свойств см. в свойстве Name. |
Type |
Необязательный |
Variant |
Константы, определяющие тип данных нового объекта Property . Допустимые типы данных см. в свойстве Type. |
Value (Значение) |
Необязательный |
Variant |
Объект Variant, содержащий начальное значение свойства. Дополнительные сведения см. в свойстве Value . |
DDL |
Необязательный |
Variant |
Тип Variant (логический подтип), указывающий, является ли свойство объектом DDL. Значение по умолчанию - false. Если DDL имеет значение True, пользователи не могут изменять или удалять этот объект Property , если у них нет разрешения dbSecWriteDef. |
Возвращаемое значение
Property
Замечания
Определяемый пользователем объект Property можно создать только в коллекции Properties объекта, который является постоянным.
Если при использовании CreateProperty вы пропустите одну или несколько необязательных частей, можно использовать соответствующую инструкцию присваивания, чтобы задать или сбросить соответствующее свойство перед добавлением нового объекта в коллекцию. После добавления объекта можно изменить некоторые, но не все его параметры свойств. Дополнительные сведения см. в разделах Свойства Имя, Тип и Значение .
Если имя ссылается на объект, который уже является членом коллекции, при использовании метода Append возникает ошибка во время выполнения.
Чтобы удалить определяемый пользователем объект Property из коллекции, используйте метод Delete в коллекции Properties . Вы не можете удалить встроенные свойства.
Примечание.
Если опустить аргумент DDL, по умолчанию используется значение False (не DDL). Так как соответствующее свойство DDL не предоставляется, необходимо удалить и повторно создать объект Property , который требуется изменить с DDL на не DDL.
Пример
В этом примере пытается задать значение определяемого пользователем свойства. Если свойство не существует, оно использует метод CreateProperty для создания и задания значения нового свойства. Для выполнения этой процедуры требуется процедура SetProperty.
Sub CreatePropertyX()
Dim dbsNorthwind As Database
Dim prpLoop As Property
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
' Set the Archive property to True.
SetProperty dbsNorthwind, "Archive", True
With dbsNorthwind
Debug.Print "Properties of " & .Name
' Enumerate Properties collection of the Northwind
' database.
For Each prpLoop In .Properties
If prpLoop <> "" Then Debug.Print " " & _
prpLoop.Name & " = " & prpLoop
Next prpLoop
' Delete the new property since this is a
' demonstration.
.Properties.Delete "Archive"
.Close
End With
End Sub
Sub SetProperty(dbsTemp As Database, strName As String, _
booTemp As Boolean)
Dim prpNew As Property
Dim errLoop As Error
' Attempt to set the specified property.
On Error GoTo Err_Property
dbsTemp.Properties("strName") = booTemp
On Error GoTo 0
Exit Sub
Err_Property:
' Error 3270 means that the property was not found.
If DBEngine.Errors(0).Number = 3270 Then
' Create property, set its value, and append it to the
' Properties collection.
Set prpNew = dbsTemp.CreateProperty(strName, _
dbBoolean, booTemp)
dbsTemp.Properties.Append prpNew
Resume Next
Else
' If different error has occurred, display message.
For Each errLoop In DBEngine.Errors
MsgBox "Error number: " & errLoop.Number & vbCr & _
errLoop.Description
Next errLoop
End
End If
End Sub