Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations wOOdy-Soft on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Programmatically delete/.re-establish relationships from VB in Acess 1

Status
Not open for further replies.

Paladyr

Programmer
Apr 22, 2001
508
US
I need to know how to delete access relationships from inside Visual basic and also how to set the relationships back to what they were. I tried using the Catalog object of the ADOX library but couldn't figure out how to do it. The reason I need this is because I want to allow the user to "download" a newer copy of tables stored locally on their PC. Thanks in advance for the help!
 
The following code is an example of how I add a 4 column relationship inside of an access database.

Set kyForeign = New ADOX.Key
Set cat = New ADOX.Catalog

cat.ActiveConnection = axCon
kyForeign.Name = "TickFactDT"
kyForeign.Type = adKeyForeign
kyForeign.RelatedTable = "Tickets"

kyForeign.Columns.Append "TicketID"
kyForeign.Columns("TicketID").RelatedColumn = "TicketID"
kyForeign.UpdateRule = adRICascade
kyForeign.DeleteRule = adRICascade

kyForeign.Columns.Append "DirectionType"
kyForeign.Columns("DirectionType").RelatedColumn = "DirectionType"
kyForeign.UpdateRule = adRICascade
kyForeign.DeleteRule = adRICascade

kyForeign.Columns.Append "TicketSeries"
kyForeign.Columns("TicketSeries").RelatedColumn = "TicketSeries"
kyForeign.UpdateRule = adRICascade
kyForeign.DeleteRule = adRICascade

kyForeign.Columns.Append "SeriesCatagory"
kyForeign.Columns("SeriesCatagory").RelatedColumn = "SeriesCatagory"
kyForeign.UpdateRule = adRICascade
kyForeign.DeleteRule = adRICascade

cat.Tables("TicketFactorDT").Keys.Append kyForeign
Set kyForeign = Nothing
Set cat = Nothing

Removing the relationship is something I have not done in a long time, but I seem to remember it being even easier.
 
The following code is an example of how I add a 4 column relationship inside of an access database.

Set kyForeign = New ADOX.Key
Set cat = New ADOX.Catalog

cat.ActiveConnection = axCon
kyForeign.Name = "TickFactDT"
kyForeign.Type = adKeyForeign
kyForeign.RelatedTable = "Tickets"

kyForeign.Columns.Append "TicketID"
kyForeign.Columns("TicketID").RelatedColumn = "TicketID"
kyForeign.UpdateRule = adRICascade
kyForeign.DeleteRule = adRICascade

kyForeign.Columns.Append "DirectionType"
kyForeign.Columns("DirectionType").RelatedColumn = "DirectionType"
kyForeign.UpdateRule = adRICascade
kyForeign.DeleteRule = adRICascade

kyForeign.Columns.Append "TicketSeries"
kyForeign.Columns("TicketSeries").RelatedColumn = "TicketSeries"
kyForeign.UpdateRule = adRICascade
kyForeign.DeleteRule = adRICascade

kyForeign.Columns.Append "SeriesCatagory"
kyForeign.Columns("SeriesCatagory").RelatedColumn = "SeriesCatagory"
kyForeign.UpdateRule = adRICascade
kyForeign.DeleteRule = adRICascade

cat.Tables("TicketFactorDT").Keys.Append kyForeign
Set kyForeign = Nothing
Set cat = Nothing

Removing the relationship is something I have not done in a long time, but I seem to remember it being even easier.
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top