首页 > 解决方案 > 如何使用与正在编辑的记录相关的值填充组合框

问题描述

我在 MS Access 中有两个表

首先,我指定组 ID:

在此处输入图像描述

然后我用名称填写第二张表并将每个名称分配给一个组:

在此处输入图像描述

那么我想回到表 #1 并在以下条件下将 Head 分配给每个组:

  1. 将 Head 字段设置为 Lookup Combo 框以仅显示数据库中存在的名称(因为这是先决条件:“Head must be a member”) -我可以这样做

  2. 组合框应该只显示已经分配给这个特定组的名称(另一个先决条件:“只有组的成员可以是它的头”) -我不能这样做

看起来正确的 SQL 语句应该是:

SELECT [Table #2].[NameID], [Table #2].[Name] FROM Table #2 

WHERE [Table #2].[GroupID] = [Table #1].[GroupID] ORDER BY [Name]; 

但它不起作用。这是可能的还是我创建循环引用并且我应该使用其他一些工具?

标签: sqlms-access

解决方案


我认为您的 SQL 语句的问题是由于您尝试使用表一中的组 ID 而不加入它,以下 SQL 语句应该可以工作:

    SELECT t2.NameID , t2.Name
    FROM [Table #1] as t1
    RIGHT JOIN [Table #2] as t2 on t1.groupid = t2.groupid

推荐阅读