Exemplos das propriedades PrimaryKey e Unique (VB)
Este exemplo demonstra as propriedades PrimaryKey e Unique de um Index. O código cria outra tabela com duas colunas. As propriedades PrimaryKey e Unique são usadas para tornar uma coluna a chave primária para a qual valores duplicados não são permitidos.
' BeginPrimaryKeyVB
Sub Main()
On Error GoTo PrimaryKeyXError
Dim catNorthwind As New ADOX.Catalog
Dim tblNew As New ADOX.Table
Dim idxNew As New ADOX.Index
Dim idxLoop As New ADOX.Index
Dim colLoop As New ADOX.Column
' Connect the catalog
catNorthwind.ActiveConnection = "Provider='Microsoft.Jet.OLEDB.4.0';" & _
"Data Source='Northwind.mdb';"
' Name new table
tblNew.Name = "NewTable"
' Append a numeric and a text field to new table.
tblNew.Columns.Append "NumField", adInteger, 20
tblNew.Columns.Append "TextField", adVarWChar, 20
' Append new Primary Key index on NumField column
' to new table
idxNew.Name = "NumIndex"
idxNew.Columns.Append "NumField"
idxNew.PrimaryKey = True
idxNew.Unique = True
tblNew.Indexes.Append idxNew
' Append an index on Textfield to new table.
' Note the different technique: Specifying index and
' column name as parameters of the Append method
tblNew.Indexes.Append "TextIndex", "TextField"
' Append the new table
catNorthwind.Tables.Append tblNew
With tblNew
Debug.Print tblNew.Indexes.Count & " Indexes in " & _
tblNew.Name & " Table"
' Enumerate Indexes collection.
For Each idxLoop In .Indexes
With idxLoop
Debug.Print "Index " & .Name
Debug.Print " Primary key = " & .PrimaryKey
Debug.Print " Unique = " & .Unique
' Enumerate Columns collection of each Index
' object.
Debug.Print " Columns"
For Each colLoop In .Columns
Debug.Print " " & colLoop.Name
Next colLoop
End With
Next idxLoop
End With
' Delete new table as this is a demonstration.
catNorthwind.Tables.Delete tblNew.Name
'Clean up
Set catNorthwind.ActiveConnection = Nothing
Set catNorthwind = Nothing
Set tblNew = Nothing
Set idxNew = Nothing
Set idxLoop = Nothing
Set colLoop = Nothing
Exit Sub
PrimaryKeyXError:
Set catNorthwind = Nothing
Set tblNew = Nothing
Set idxNew = Nothing
Set idxLoop = Nothing
Set colLoop = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
' EndPrimaryKeyVB
Consulte Também
Objeto Index (ADOX)
Propriedade PrimaryKey (ADOX)
Propriedade Unique (ADOX)