Provided by Allen Browne
Warning: This code is dangerous! It deletes all relationships in the current database.
In some circumstances, Access 95 would fail to display relations between tables in the Relationships window. Since you could not view the relationships, you could not delete them, so your database was inconsistent. This code is provided as a fix.
Function DeleteAllRelationships() As String ' WARNING: Deletes all relationships in the current database. Dim db As Database ' Current DB Dim rex As Relations ' Relations of currentDB. Dim rel As Relation ' Relationship being deleted. Dim iKt As Integer ' Count of relations deleted. Dim sMsg As String ' MsgBox string. sMsg = "About to delete ALL relationships between tables in the current database." & vbCrLf & "Continue?" If MsgBox(sMsg, vbQuestion + vbYesNo + vbDefaultButton2, "Are you sure?") = vbNo Then DeleteAllRelationships = "Operation cancelled" Exit Function End If Set db = CurrentDb() Set rex = db.Relations iKt = rex.Count Do While rex.Count > 0 Debug.Print rex(0).Name rex.Delete rex(0).Name Loop DeleteAllRelationships = iKt & " relationship(s) deleted" End Function
Copy and paste this function into a module. Press Ctrl+G to open the Immediate Window. Enter:
? DeleteAllRelationships()
You will then have to rebuild all your relationships from scratch.
Home | Index of tips | Top |