Propriedade Index.IgnoreNulls (DAO)
Aplica-se ao: Access 2013, Office 2013
Define ou retorna um valor que indica se os registros com valores Null nos campos de índice têm entradas de índice (somente nos espaços de trabalho do Microsoft Access ).
Sintaxe
expressão . IgnoreNulls
Expressão Uma variável que representa um objeto Index .
Comentários
Essa propriedade é leitura/gravação para um novo objeto Index ainda não acrescentado a uma coleção e somente leitura para um objeto Index existente em uma coleção Indexes.
Para acelerar o processo de pesquisa dos registros, defina um índice para um campo. Se você permitir entradas null em um campo indexado e esperar que muitas das entradas sejam null, defina a propriedade IgnoreNulls do objeto Index como True para reduzir a quantidade de espaço usada pelo índice.
A definição da propriedade IgnoreNulls e a definição da propriedade Required em conjunto determinam se o registro com o valor de índice null terá uma entrada de índice.
Se IgnoreNulls for |
e Required for |
Then |
---|---|---|
Verdadeiro |
Falso |
Um valor nulo é permitido no campo de índice; nenhuma entrada de índice foi adicionada. |
Falso |
Falso |
Um valor nulo é permitido no campo de índice; entrada de índice adicionada. |
True or False |
Verdadeiro |
Um valor nulo não é permitido no campo de índice; nenhuma entrada de índice foi adicionada. |
Exemplo
Este exemplo define a propriedade IgnoreNulls de um novo Index como True ou False com base na entrada do usuário e depois demonstra o efeito em um Recordset com um registro cujo campo de chave contém um 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