Compartilhar via


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