Relating Two Tables and Setting up Cascading Referential Integrity Rules
Sub RelateTables()
Dim conn As ADODB.Connection
Dim strPrimaryTbl As String
Dim strForeignTbl As String
On Error GoTo ErrorHandler
Set conn = CurrentProject.Connection
strPrimaryTbl = "myTbl"
strForeignTbl = "myTbl_Details"
conn.Execute "CREATE TABLE " & strPrimaryTbl & _
"(InvoiceId CHAR(15), PaymentType CHAR(20)," & _
" PaymentTerms CHAR(25), Discount LONG," & _
" CONSTRAINT PrimaryKey PRIMARY KEY (InvoiceId));", _
adExecuteNoRecords
conn.Execute "CREATE TABLE " & strForeignTbl & _
"(InvoiceId CHAR(15), ProductId CHAR(15)," & _
" Units LONG, Price MONEY," & _
"CONSTRAINT PrimaryKey PRIMARY KEY (InvoiceId, ProductId)," & _
"CONSTRAINT fkInvoiceId FOREIGN KEY (InvoiceId)" & _
"REFERENCES " & strPrimaryTbl & _
" ON UPDATE CASCADE ON DELETE CASCADE);", _
adExecuteNoRecords
Application.RefreshDatabaseWindow
ExitHere:
conn.Close
Set conn = Nothing
Exit Sub
ErrorHandler:
Debug.Print Err.Number & ":" & Err.Description
Resume ExitHere
End Sub
Related examples in the same category