Partager via


Database.CreateProperty, méthode (DAO)

S’applique à : Access 2013, Office 2013

Crée un objet utilisateur Property (espaces de travail Microsoft Access uniquement). .

Syntaxe

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

expression Variable qui représente un objet Database.

Paramètres

Nom

Obligatoire/facultatif

Type de données

Description

Name

Facultatif

Variant

Valeur de type String qui nomme de façon unique le nouvel objet Property. Voir la propriété Name pour plus d'informations sur les noms Property valides.

Type

Facultatif

Variant

Constante qui définit le type de données du nouvel objet Property. Pour connaître les types de données valides, reportez-vous à la propriété Type.

Valeur

Facultatif

Variant

Variant contenant la valeur initiale de la propriété. Pour plus d’informations, consultez la propriété Value .

DDL

Facultatif

Variant

Valeur de type Variant (sous-type Boolean) indiquant si l'objet Property est ou non un objet DDL. La valeur par défaut est False. Si DDL a la valeur True, les utilisateurs ne peuvent pas modifier ou supprimer cet objet Property , sauf s’ils disposent de l’autorisation dbSecWriteDef.

Valeur renvoyée

Propriété

Remarques

Vous pouvez créer un objet utilisateur Property uniquement dans la collection Properties d'un objet qui est persistant.

Si vous omettez une ou plusieurs parties facultatives lorsque vous utilisez CreateProperty, vous pouvez utiliser une instruction d'affectation appropriée pour définir ou réinitialiser la propriété correspondante avant d'ajouter le nouvel objet à une collection. Une fois l'objet ajouté, vous pouvez modifier certains paramètres de la propriété mais pas tous. Pour plus d'informations, reportez-vous aux rubriques des propriétés Name, Type et Value.

Si name fait référence à un objet qui est déjà membre de la collection, une erreur d’exécution se produit lorsque vous utilisez la méthode Append .

Pour supprimer un objet Property défini par l’utilisateur de la collection, utilisez la méthode Delete sur la collection Properties . Vous ne pouvez pas supprimer de propriétés intégrées.

Remarque

Si vous omettez l’argument DDL, la valeur par défaut est False (non-DDL). Dans la mesure où la propriété DDL correspondante est exposée, vous devez supprimer et recréer l'objet Property pour passer de DDL à non DDL.

Exemple

Cet exemple tente de définir la valeur d'une propriété définie par l'utilisateur. Si la propriété n'existe pas, il utilise la méthode CreateProperty pour créer la nouvelle propriété et en définir la valeur. La procédure SetProperty est requise pour exécuter cette opération.

    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