Freigeben über


Database.CreateProperty-Methode (DAO)

Gilt für: Access 2013, Office 2013

Erstellt ein neues, benutzerdefiniertes Property -Objekt (gilt nur für Microsoft Access-Arbeitsbereiche). .

Syntax

Ausdruck . CreateProperty(Name, Type, Value, DDL)

Ausdruck Eine Variable, die ein Database -Objekt darstellt.

Parameter

Name

Erforderlich/optional

Datentyp

Beschreibung

Name

Optional

Variant

Ein String-Wert, der das neue Property-Objekt eindeutig benennt. Weitere Informationen zu gültigen Property-Namen finden Sie in dem Thema zur Name-Eigenschaft.

Typ

Optional

Variant

Eine Konstante, die den Datentyp des neuen Property-Objekts definiert. Unter der Type -Eigenschaft finden Sie gültige Datentypen.

Wert

Optional

Variant

Ein Variant-Wert, der den ursprünglichen Eigenschaftswert enthält. Weitere Informationen finden Sie in der Value-Eigenschaft .

DDL

Optional

Variant

Ein Variant-Wert (Untertyp Boolean), der angibt, ob Property ein DDL-Objekt ist. Der Standardwert ist False. Wenn DDL auf True festgelegt ist, können Benutzer dieses Property-Objekt nur ändern oder löschen, wenn sie über die DbSecWriteDef-Berechtigung verfügen.

Rückgabewert

Eigenschaft

Hinweise

Ein benutzerdefiniertes Property-Objekt können Sie nur in der Properties -Auflistung eines beständigen Objekts erstellen.

Wenn Sie CreateProperty verwenden und einen oder mehrere optionale Teile weglassen, können Sie die entsprechende Eigenschaft mithilfe einer geeigneten Zuweisungsanweisung festlegen oder zurücksetzen, bevor Sie das neue Objekt an eine Auflistung anfügen. Nachdem Sie das Objekt angefügt haben, können Sie dessen Eigenschafteneinstellungen zum Teil ändern. Weitere Informationen hierzu finden Sie in den Themen zur Name-, Type- und Value-Eigenschaft.

Wenn name auf ein Objekt verweist, das bereits ein Element der Auflistung ist, tritt bei Verwendung der Append-Methode ein Laufzeitfehler auf.

Um ein benutzerdefiniertes Property-Objekt aus der Auflistung zu entfernen, verwenden Sie die Delete-Methode für die Properties-Auflistung . Sie können keine integrierten Eigenschaften löschen.

Hinweis

Wenn Sie das DDL-Argument weglassen, wird standardmäßig False (nicht DDL) verwendet. Da keine entsprechende DDL-Eigenschaft verfügbar gemacht wurde, müssen Sie ein Property-Objekt, das von DLL in Nicht-DLL geändert werden soll, löschen und erneut erstellen.

Beispiel

This example tries to set the value of a user-defined property. If the property doesn't exist, it uses the CreateProperty method to create and set the value of the new property. The SetProperty procedure is required for this procedure to run.

    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