An
Index object contains the fields that are being indexed and usually contains only a single field. The
Index object created in the following example has two fields appended to it, creating a multiple-field index.
NOTE: The sample code in this article uses Microsoft Data Access Objects. For this code to run properly, you must reference the Microsoft DAO 3.6 Object Library. To do so, click
References on the
Tools menu in the Visual Basic Editor, and make sure that the
Microsoft DAO 3.6 Object Library check box is selected.
- Start Microsoft Access and open any database.
- In the Database window, click Tables, and then click New to create the following new table in Design View:
Table: Interviews
Field Name: CustomerID
Data Type: Number
Field Size: Long Integer
Field Name: InterviewerID
Data Type: Number
Field Size: Long Integer
Field Name: Appointment
Data Type: Date/Time
- Save the table as Interviews, and then close it. Do not create a primary key.
- In the Database window, click Modules, click New to create a new module, and then type the following procedure:
'---------------------------------------------------------------
'PURPOSE: Adds a multiple-field index to a table.
'ACCEPTS: Nothing.
'RETURNS: Nothing.
'---------------------------------------------------------------
Function AddMultiIndex()
Dim dbs As DAO.Database, tdf As DAO.TableDef
Dim idx As DAO.Index, fld As DAO.Field
Set dbs = CurrentDb()
' Open the table definition.
Set tdf = dbs.TableDefs("Interviews")
' Create an index called PrimaryKey for this TableDef
' and turn on the Primary and Required properties.
Set idx = tdf.CreateIndex("PrimaryKey")
With idx
.Name = "PrimaryKey"
.Primary = True
.Required = True
.IgnoreNulls = False
End With
' Create an index field with the same name as a table field,
' then append it to the index.
Set fld = idx.CreateField("CustomerID")
idx.Fields.Append fld
' Do the second field the same way.
Set fld = idx.CreateField("InterviewerID")
fld.Attributes = dbDescending
idx.Fields.Append fld
' Append the index to the TableDef.
tdf.Indexes.Append idx
End Function
- To test this function, type the following line in the Immediate window, and then press ENTER:
? AddMultiIndex()
- Open the Interviews table in Design view. Note the compound primary key on the CustomerID and InterviewerID fields.