Método TableDef.CreateIndex (DAO)
Aplica-se ao: Access 2013, Office 2013
Cria um novo objeto Index (apenas espaços de trabalho do Microsoft Access). .
Sintaxe
expressão . CreateIndex(Name)
expressão Uma variável que representa um objeto TableDef.
Parâmetros
Nome |
Necessária/opcional |
Tipo de dados |
Descrição |
---|---|---|---|
Name |
Opcional |
Variant |
Uma String que denomina exclusivamente o novo objeto Index. Consulte a propriedade Name para obter detalhes sobre nomes válidos de Index. |
Valor de retorno
Índice
Comentários
Você pode usar o método CreateIndex para criar um novo objeto Index para um objeto TableDef. Se você omitir a parte de nome opcional ao usar CreateIndex, poderá usar uma instrução de atribuição apropriada para definir ou redefinir a propriedade Name antes de acrescentar o novo objeto a uma coleção. Depois de acrescentar o objeto, você pode ou não conseguir definir sua propriedade Name, dependendo do tipo de objeto que contém a coleção Indexes. Consulte o tópico da propriedade Name para obter mais detalhes.
Se o nome se referir a um objeto que já é um membro da coleção, ocorrerá um erro em tempo de execução ao usar o método Append .
Para remover um objeto Index de uma coleção, use o método Delete na coleção.
Exemplo
Este exemplo usa o método CreateIndex para criar dois novos objetos Index e, em seguida, acrescenta-os à coleção Indexes do objeto TableDef Employees. Em seguida, é enumerada a coleção Indexes do objeto TableDef, a coleção Fields dos novos objetos Index e a coleção Properties dos novos objetos Index. A função CreateIndexOutput é exigida para a execução deste procedimento.
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("Northwind.mdb")
Set tdfEmployees = dbsNorthwind!Employees
With tdfEmployees
' Create first Index object, create and append Field
' objects to the Index object, and then append the
' Index object to the Indexes collection of the
' TableDef.
Set idxCountry = .CreateIndex("CountryIndex")
With idxCountry
.Fields.Append .CreateField("Country")
.Fields.Append .CreateField("LastName")
.Fields.Append .CreateField("FirstName")
End With
.Indexes.Append idxCountry
' Create second Index object, create and append Field
' objects to the Index object, and then append the
' Index object to the Indexes collection of the
' TableDef.
Set idxFirstName = .CreateIndex
With idxFirstName
.Name = "FirstNameIndex"
.Fields.Append .CreateField("FirstName")
.Fields.Append .CreateField("LastName")
End With
.Indexes.Append idxFirstName
' Refresh collection so that you can access new Index
' objects.
.Indexes.Refresh
Debug.Print .Indexes.Count & " Indexes in " & _
.Name & " TableDef"
' Enumerate Indexes collection.
For Each idxLoop In .Indexes
Debug.Print " " & idxLoop.Name
Next idxLoop
' Print report.
CreateIndexOutput idxCountry
CreateIndexOutput idxFirstName
' Delete new Index objects because this is a
' demonstration.
.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
' Enumerate Fields collection of Index object.
Debug.Print "Fields in " & .Name
For Each fldLoop In .Fields
Debug.Print " " & fldLoop.Name
Next fldLoop
' Enumerate Properties collection of Index object.
Debug.Print "Properties of " & .Name
For Each prpLoop In .Properties
Debug.Print " " & prpLoop.Name & " - " & _
IIf(prpLoop = "", "[empty]", prpLoop)
Next prpLoop
End With
End Function