Описание
Создает новый объект Index (только в рабочей области ядра Microsoft Jet).
Set индекс = таблица.CreateIndex (имя)
Параметры
индекс
Объектная переменная, задающая создаваемый индекс.
таблица
Объектная переменная, задающая объект TableDef, который используется для создания нового объекта Index.
имя
Необязательный. Выражение или переменная типа Variant (подтип String), содержащая уникальное имя нового объекта Index. Сведения о допустимых именах индексов приведены в разделе о свойстве Name.
Замечания
Метод CreateIndex используется при создании нового объекта Index для объекта TableDef. Если опустить необязательный аргумент имя при вызове метода CreateIndex, то можно воспользоваться подходящей инструкцией присваивания для задания или изменения значения свойства Name перед добавлением нового объекта в семейство. После добавления нового объекта в семейство возможность изменения значения свойства Name будет определяться типом объекта, содержащего семейство Indexes. Дополнительные сведения приведены в разделе, посвященном свойству Name.
Если аргумент имя указывает на объект, который уже добавлен в семейство, то при вызове метода Append возникает ошибка выполнения.
Для удаления объекта Index из семейства следует применить к семейству метод Delete.
Пример
Следующая программа использует метод CreateIndex для создания двух новых объектов Index, а затем добавляет их в семейство Indexes объекта TableDef "Сотрудники". Далее отображаются семейство Indexes объекта TableDef, семейства Fields новых Index и семейства Properties новых объектов Index. Для выполнения этой процедуры требуется функция CreateIndexOutput.
Sub CreateIndexX() Dim dbsNorthwind As Database Dim tdfEmployees As TableDef Dim idxCountry As Index Dim idxFirstName As Index Dim idxLoop As Index Set dbsNorthwind = OpenDatabase("Борей.mdb") Set tdfEmployees = dbsNorthwind!Сотрудники With tdfEmployees ' Создает первый объект Index, создает и добавляет объекты ' Field в объект Index, а затем добавляет объект ' Index в семейство Indexes объекта TableDef. Set idxCountry = .CreateIndex("ИндексСтрана") With idxCountry .Fields.Append .CreateField("Страна") .Fields.Append .CreateField("Фамилия") .Fields.Append .CreateField("Имя") End With .Indexes.Append idxCountry ' Создает второй объект Index, создает и добавляет объекты ' Field в объект Index, а затем добавляет объект ' Index в семейство Indexes объекта TableDef. Set idxFirstName = .CreateIndex With idxFirstName .Name = "ИндексИмя" .Fields.Append .CreateField("Имя") .Fields.Append .CreateField("Фамилия") End With .Indexes.Append idxFirstName ' Обновляет семейство, чтобы обеспечить ' доступ к новым объектам Index. .Indexes.Refresh Debug.Print .Indexes.Count & " Индексы в " & .Name & " TableDef" ' Отображает семейство Indexes. For Each idxLoop In .Indexes Debug.Print " " & idxLoop.Name Next idxLoop ' Печатает отчет. CreateIndexOutput idxCountry CreateIndexOutput idxFirstName ' Удаляет новые объекты Index, созданные ' только для демонстрации. .Indexes.Delete idxCountry.Name .Indexes.Delete idxFirstName.Name End With dbsNorthwind.Close End Sub Function CreateIndexOutput(idxTemp As Index) Dim fldLoop As Field Dim prpLoop As Property With idxTemp ' Отображает семейство Fields объекта Index. Debug.Print "Поля в " & .Name For Each fldLoop In .Fields Debug.Print " " & fldLoop.Name Next fldLoop ' Отображает семейство Properties объекта Index. Debug.Print "Свойства " & .Name For Each prpLoop In .Properties Debug.Print " " & prpLoop.Name & " - " & IIf(prpLoop = "", "[empty]", prpLoop) Next prpLoop End With End Function