Mega Code Archive

 
Categories / VisualBasic Script / Access
 

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