删除Access中的所有关系

2017-12-20 17:01:00
黄善超
原创
510

说到关系,可能有两种意见。正方认为关系好用,可以约束数据,减少错误。对于新手有很好的帮助。反方觉得没必要建立关系。因为数据库的建立本身就是基于关系数据库的。建立关系反而会限制一些操作。今天我们不把这个作为讨论的重点。


有没有人和小编一样觉得逐个删除关系是一件很麻烦的事情。如何批量删除关系呢?


运行下面的代码:

Function DeleteAllRelationships() As String
 '作者:Allen Browne
     Dim db As dao.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 = "是否删除当前数据库中的所有关系" & vbCrLf
     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



提醒是否删除关系


选择“是”,删除所有关系


注意:此代码有一定的危险性,请谨慎使用。它会删除当前数据库中的所有关系。

    分享