Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
S’applique à : Access 2013, Office 2013
Une collection Properties contient tous les objets Property d'une instance spécifique d'un objet.
Remarques
Tous les objets DAO, à l'exception des objets Connection et Error, contiennent une collection Properties, laquelle est dotée d'un certain nombre d'objets Property intégrés. Ces objets Property (souvent appelés simplement propriétés) caractérisent de manière unique cette instance de l'objet.
[!REMARQUE] Outre les propriétés intégrées, vous pouvez également créer et ajouter vos propres propriétés définies par l'utilisateur. Pour ajouter une propriété définie par l’utilisateur à un instance existant d’un objet, définissez d’abord ses caractéristiques avec la méthode CreateProperty, puis ajoutez-la à la collection avec la méthode Append. La référence d'un objet Property défini par l'utilisateur qui n'a pas encore été ajouté à une collection Properties entraîne une erreur, de même que l'ajout d'un objet Property défini par l'utilisateur à une collection Properties contenant un objet Property du même nom.
Vous pouvez utiliser la méthode Delete pour supprimer des propriétés personnalisées de la collection Properties mais vous ne pouvez pas supprimer les propriétés intégrées.
Remarque
[!REMARQUE] Un objet Property défini par l'utilisateur est associé uniquement à l'instance spécifique d'un objet. La propriété n'est pas définie pour toutes les instances d'objets du type sélectionné.
Pour faire référence à un objet Property intégré d'une collection par son numéro ordinal ou par son paramètre de propriété Name, utilisez l'une des syntaxes suivantes :
Objet. Propriétés(0)
Objet. Properties(« name »)
Objet. Propriétés ! [name]
Dans le cas d'une propriété prédéfinie, vous pouvez également utiliser la syntaxe suivante :
- object.name
Remarque
Pour une propriété définie par l’utilisateur, vous devez utiliser l’objet complet. Syntaxe Properties(« name »).
Avec les mêmes formes de syntaxe, vous pouvez également faire référence à la propriété Value d'un objet Property. C'est le contexte de la référence qui indique si vous faites référence à l'objet Property ou à la propriété Value de l'objet Property.
Exemple
Cet exemple crée une propriété définie par l'utilisateur pour la base de données active, définit ses propriétés Type et Value et l'ajoute à la collection Properties de la base de données. Il énumère ensuite toutes les propriétés de la base de données.
Sub PropertyX()
Dim dbsNorthwind As Database
Dim prpNew As Property
Dim prpLoop As Property
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
With dbsNorthwind
' Create and append user-defined property.
Set prpNew = .CreateProperty()
prpNew.Name = "UserDefined"
prpNew.Type = dbText
prpNew.Value = "This is a user-defined property."
.Properties.Append prpNew
' Enumerate all properties of current database.
Debug.Print "Properties of " & .Name
For Each prpLoop In .Properties
With prpLoop
Debug.Print " " & .Name
Debug.Print " Type: " & .Type
Debug.Print " Value: " & .Value
Debug.Print " Inherited: " & _
.Inherited
End With
Next prpLoop
' Delete new property because this is a
' demonstration.
.Properties.Delete "UserDefined"
End With
End Sub
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