Описание
Задает или возвращает значение, показывающее, являются ли компонентами индекса записи, имеющие пустые (Null) значения в полях индекса (только в рабочей области Microsoft Jet).
Значение
Задаваемое или возвращаемое значение данного свойства имеет тип Boolean и содержит значение True, если поля со значениями Null не являются компонентами индекса. Данное свойство доступно для чтения/записи для нового объекта Index, еще не добавленного в семейство, и только для чтения для существующего объекта Index в семействе Indexes.
Замечания
Для ускорения поиска записей по значению поля можно создать индекс для данного поля. Если в индексированном поле допускается наличие пустых значений (Null), и если ожидается наличие большого числа пустых значений, то задание значения True для свойства IgnoreNulls объекта Index позволяет уменьшить размер индекса.
Значение свойства IgnoreNulls вместе со значением свойства Required определяет, будут ли содержаться в индексе сведения о записях с пустыми значениями.
IgnoreNulls Required Пустые значения в индексе True False Значения Null допускаются, но не заносятся в индекс. False False Значения Null допускаются и заносятся в индекс. True или False True Значения Null не допускаются и не заносятся в индекс.
Пример
Следующая программа задает для свойства IgnoreNulls нового объекта Index значение True или False в зависимости от данных, введенных пользователем, а затем демонстрирует результат для объекта Recordset, содержащего запись со значением Null в ключевом поле.
Sub IgnoreNullsX() Dim dbsNorthwind As Database Dim tdfEmployees As TableDef Dim idxNew As Index Dim rstEmployees As Recordset Set dbsNorthwind = OpenDatabase("Борей.mdb") Set tdfEmployees = dbsNorthwind!Сотрудники With tdfEmployees ' Создает новый объект Index. Set idxNew = .CreateIndex("НовыйИндекс") idxNew.Fields.Append idxNew.CreateField("Страна") ' Задает значение свойства IgnoreNulls нового объекта Index, ' зависящее от данных, введенных пользователем. Select Case MsgBox("Задать для IgnoreNulls значение True?", vbYesNoCancel) Case vbYes idxNew.IgnoreNulls = True Case vbNo idxNew.IgnoreNulls = False Case Else dbsNorthwind.Close End End Select ' Добавляет новый объект Index в семейство Indexes ' таблицы "Сотрудники". .Indexes.Append idxNew .Indexes.Refresh End With Set rstEmployees = dbsNorthwind.OpenRecordset("Сотрудники") With rstEmployees ' Добавляет новую запись в таблицу "Сотрудники". .AddNew !Имя = "Иван" !Фамилия = "Иванов" .Update ' Задает порядок записей с помощью нового индекса. .Index = idxNew.Name .MoveFirst Debug.Print "Индекс = " & .Index & ", IgnoreNulls = " & idxNew.IgnoreNulls Debug.Print " Страна - Имя" ' Отображает объект Recordset. Значение свойства ' IgnoreNulls определяет, будет ли новая запись ' отображаться при выводе результатов. Do While Not .EOF Debug.Print " " & _ IIf(IsNull(!Страна), "[Null]", !Страна) & _ " - " & !Имя & " " & !Фамилия .MoveNext Loop ' Удаляет новую запись, созданную только для демонстрации. .Index = "" .Bookmark = .LastModified .Delete .Close End With ' Удаляет новый объект Index, созданный только для демонстрации. tdfEmployees.Indexes.Delete idxNew.Name dbsNorthwind.Close End Sub