MS Access 子表单的多个析取条件

Multiple Disjunctive Conditions for MS Access Subforms

在配置 MS Access 子表单时,您可以 link 将父表单中的字段主控到子表单中的子字段。您也可以有多个 link,但多个 link 是连词,例如有 2 links 结果只有满足 link 1 link 2 的行。

我正在尝试使用多个析取 link(link 1 link 2)。

为了提供更多上下文,我有一个 table 来表达两个对象之间的关系,因此它包含两个引用相同 table 的外键。在子表单中,我想包含对象 ID 与任一外键匹配的行。

那是不可能的。

将 Master/Child link 字段视为 filterinner join

正如其他人所提到的,不可能使用 MS Access 的非常基本的链接系统来做除内部连接之外的任何事情。但是,我想出了一个简单的解决方法:使用父表单的 Current 事件来更新子表单的 RecordSource.

此解决方案是通用解决方案,可用于与父表单具有更复杂关系的子表单:

Private Sub Form_Current()
    Dim sql as String

    'This is the SQL statement for my situation, but you can write anything.
    sql = "SELECT * FROM SourceTable WHERE fk1 = " & Me![ID] & " OR fk2 = " & Me![ID]
    SubformName.Form.RecordSource = sql
End Sub