Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This example demonstrates the DeleteRule property of a Key object. The code appends a new Table and then defines a new primary key, setting DeleteRule to adRICascade.
' BeginDeleteRuleVB
Sub Main()
On Error GoTo DeleteRuleXError
Dim kyPrimary As New ADOX.Key
Dim cat As New ADOX.Catalog
Dim tblNew As New ADOX.Table
' Connect the catalog
cat.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 the new table
cat.Tables.Append tblNew
' Define the Primary key
kyPrimary.Name = "NumField"
kyPrimary.Type = adKeyPrimary
kyPrimary.RelatedTable = "Customers"
kyPrimary.Columns.Append "NumField"
kyPrimary.Columns("NumField").RelatedColumn = "CustomerId"
kyPrimary.DeleteRule = adRICascade
' Append the primary key
cat.Tables("NewTable").Keys.Append kyPrimary
Debug.Print "The primary key is appended."
'Delete the table as this is a demonstration.
cat.Tables.Delete tblNew.Name
Debug.Print "The primary key is deleted."
'Clean up
Set cat.ActiveConnection = Nothing
Set cat = Nothing
Set kyPrimary = Nothing
Set tblNew = Nothing
Exit Sub
DeleteRuleXError:
Set cat = Nothing
Set kyPrimary = Nothing
Set tblNew = Nothing
If Err <> 0 Then
MsgBox Err.Source & "-->" & Err.Description, , "Error"
End If
End Sub
' EndDeleteRuleVB