Partager via


Propriété Index.IgnoreNulls (DAO)

S’applique à : Access 2013, Office 2013

Définit ou renvoie une valeur qui indique si les enregistrements ayant des valeurs nulles dans leurs champs d’index ont des entrées d’index (espaces de travail Microsoft Access uniquement).

Syntaxe

expression . IgnoreNulls

Expression Variable qui représente un objet Index .

Remarques

Cette propriété est en lecture/écriture pour un nouvel objet Index pas encore ajouté à une collection et en lecture seule pour un objet Index existant de la collection Indexes.

Pour accélérer le processus de recherche des enregistrements, vous pouvez définir un index pour un champ. Si vous autorisez les entrées de type null dans un champ indexé et prévoyez d'avoir beaucoup d'entrées null, vous pouvez définir la propriété IgnoreNulls de l'objet Index sur True pour réduire la quantité d'espace de stockage utilisé par l'index.

Les paramètres de propriété IgnoreNulls et Required déterminent ensemble si un enregistrement doté d'une valeur d'index de type null a une entrée d'index.

Si IgnoreNulls est

Et Required est

Then

Vrai

Faux

Une valeur nulle est autorisée dans le champ d'index ; aucune entrée d'index n'est ajoutée.

Faux

Faux

Une valeur nulle est autorisée dans le champ d'index ; entrée d'index ajoutée.

True ou False

Vrai

Aucune valeur nulle n'est autorisée dans le champ d'index ; aucune entrée d'index n'est ajoutée.

Exemple

Cet exemple définit la propriété IgnoreNulls d'un nouvel Index sur True ou False en fonction de l'entrée de l'utilisateur, puis en démontre l'effet sur un Recordset contenant un enregistrement dont le champ de clé contient une valeur Null.

    Sub IgnoreNullsX() 
     
     Dim dbsNorthwind As Database 
     Dim tdfEmployees As TableDef 
     Dim idxNew As Index 
     Dim rstEmployees As Recordset 
     
     Set dbsNorthwind = OpenDatabase("Northwind.mdb") 
     Set tdfEmployees = dbsNorthwind!Employees 
     
     With tdfEmployees 
     ' Create a new Index object. 
     Set idxNew = .CreateIndex("NewIndex") 
     idxNew.Fields.Append idxNew.CreateField("Country") 
     
     ' Set the IgnoreNulls property of the new Index object 
     ' based on the user's input. 
     Select Case MsgBox("Set IgnoreNulls to True?", _ 
     vbYesNoCancel) 
     Case vbYes 
     idxNew.IgnoreNulls = True 
     Case vbNo 
     idxNew.IgnoreNulls = False 
     Case Else 
     dbsNorthwind.Close 
     End 
     End Select 
     
     ' Append the new Index object to the Indexes 
     ' collection of the Employees table. 
     .Indexes.Append idxNew 
     .Indexes.Refresh 
     End With 
     
     Set rstEmployees = _ 
     dbsNorthwind.OpenRecordset("Employees") 
     
     With rstEmployees 
     ' Add a new record to the Employees table. 
     .AddNew 
     !FirstName = "Gary" 
     !LastName = "Haarsager" 
     .Update 
     
     ' Use the new index to set the order of the records. 
     .Index = idxNew.Name 
     .MoveFirst 
     
     Debug.Print "Index = " & .Index & _ 
     ", IgnoreNulls = " & idxNew.IgnoreNulls 
     Debug.Print " Country - Name" 
     
     ' Enumerate the Recordset. The value of the 
     ' IgnoreNulls property will determine if the newly 
     ' added record appears in the output. 
     Do While Not .EOF 
     Debug.Print " " & _ 
     IIf(IsNull(!Country), "[Null]", !Country) & _ 
     " - " & !FirstName & " " & !LastName 
     .MoveNext 
     Loop 
     
     ' Delete new record because this is a demonstration. 
     .Index = "" 
     .Bookmark = .LastModified 
     .Delete 
     .Close 
     End With 
     
     ' Delete new Index because this is a demonstration. 
     tdfEmployees.Indexes.Delete idxNew.Name 
     dbsNorthwind.Close 
     
    End Sub