链接到 FLAT Access 数据库中的另一条记录

链接到 FLAT Access 数据库中的另一条记录

我有一个简单的平面数据库,其中大约有 40 个字段。每条记录都有一个唯一的 ID。

有几对记录之间存在着微弱的联系,我想在每条记录上放置一个链接/书签,以便我可以直接跳转到相连的记录。

这是记录到记录在简单的平面数据库结构内可以进行链接吗?

答案1

这涉及几个方面,也有许多可能的解决方案。

您的主要问题/目标似乎是:

  1. 为了允许同一张表中的两个记录之间建立链接,模式(表)应该是什么样的?
  2. 如何从表单(单视图)上的一条记录跳转到相关记录?

有几种方法可以将记录链接在一起。最简单的方法可能是表上的一个字段,其中包含同一个表的 ID。缺点是数据可能不一致:如果记录 1 链接到记录 2,记录 2 是否也必须链接到记录 1?也许。也许这对你来说并不重要。

注意:如果您需要链接的不仅仅是记录对(即两个以上的组),那么简单的自引用字段将不起作用(除非您将它们链接起来,但是 - 真讨厌)。在这种情况下,您必须有另一个表,其中包含每个组中每个元素的记录。我会忽略这一点,因为您明确提到了记录对。

因此,在表中添加一个名为的字段,例如RelatedItemID。它应该是与表的 ID 相同数据类型的数字。

接下来您需要一种创建链接的方法。我建议在表单上添加一个组合框,列出此表中的所有记录,并设置ControlSource字段RelatedItemID

最后,跳转到相关记录只需使用按钮后面的 VBA 代码即可。

Private Sub JumpToRelated_Click()
    Me.RecordsetClone.FindFirst "ID = " & RelatedItemID
    If Not Me.RecordsetClone.NoMatch Then
        Me.Bookmark = Me.RecordsetClone.Bookmark
    End If
End Sub

这会将表单导航至相关记录。

为了确保一致性(即强制双向关系),您可能需要在组合框的 AfterUpdate 事件中设置一些代码,将“其他”记录的链接设置为当前记录,并清除旧链接(如果有)。这不是强制性的,只是意味着用户必须手动维护双向关系。

相关内容