Compartir a través de


Propiedad Index.IgnoreNulls (DAO)

Se aplica a: Access 2013, Office 2013

Establece o devuelve un valor que indica si los registros con valores Null en sus campos de índice tienen entradas de índice (sólo para áreas de trabajo de Microsoft Access).

Sintaxis

expresión . IgnoreNulls

Expresión Variable que representa un objeto Index .

Comentarios

Esta propiedad es de lectura y escritura para un nuevo objeto Index que todavía no está anexado a una colección y es de solo lectura para un objeto Index existente en una colección Indexes.

Para acelerar el proceso de búsqueda de registros, puede definir un índice para un campo. Si permite entradas null en un campo indizado y espera que muchas de las entradas sean null, puede establecer la propiedad IgnoreNulls para el objeto Index en True para reducir la cantidad de espacio de almacenamiento que usa el índice.

El valor de la propiedad IgnoreNulls y el valor de la propiedad Required determinan juntos si un registro con un valor de índice null tiene una entrada de índice.

Si IgnoreNulls es

Y Required es

Then

True

False

Se permite un valor nulo en el campo de índice; no se agregó entrada de índice.

False

False

Se permite un valor nulo en el campo de índice; se agregó entrada de índice.

True o False

Verdadero

No se permite un valor nulo en el campo de índice; no se agregó entrada de índice.

Ejemplo

En este ejemplo se establece la propiedad IgnoreNulls de un nuevo objeto Index en True o False a partir de los datos definidos por el usuario y después se demuestra el efecto en un objeto Recordset con un registro cuyo campo clave contiene un valor 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