MS Access 2010 - 如何使用另一个表单元素的条件为表单组合框设置自定义行源?

MS Access 2010 - How to set up a custom Row-Source for Form ComboBox using criteria from another form element?

我特别处理了三个表:

我正在尝试创建一个包含两个组合框元素的表单:

其中 Room 的行源是 tblKeyed_Rooms 中的任何行,其中 Key Number = Key .

我根据在互联网上搜索到的内容尝试了几种不同的查询,其中大部分类似于:

SELECT tblRooms.ID, tblRooms.Name FROM tblRooms INNER JOIN tblKeyed_Rooms ON tblRooms.ID = tblKeyed_Rooms.[Room_ID] WHERE [Forms]![frmKeyList]![Key]=[tblKeyed_Rooms].[Key Number]);

所以在表单中,它显示 KeyName

如何使用 Access 2010 完成此操作?如有任何帮助,我们将不胜感激!

您似乎需要将 tblKeys 连接到 tblKeyed_Rooms,再连接到 tblRooms,然后在表单上限制为您正在使用的房间。即

SELECT 
   K.Number A KeyNumber,
   R.Name + ' - ' + R.Number A Room
FROM
   tblKeys Keys
INNER JOIN
    tblKeyed_Rooms KR ON KR.Key_Number = Keys.Key_Number
INNER JOIN
     tblRooms R ON R.ID = KR.Room_ID
WHERE
    Keys.Key_Number = Forms![frmKeyList]![KeyNumber]
ORDER BY
   Keys.Key_Number

您的 WHERE 条件有点难以理解,但基本上它可以是来自 KEYS、KR 或 R 别名 table 的任何字段,它们连接到表单 frmKeyList 上的可用字段。

我不清楚 Checkouts table 是如何适应的。RowSource 中可能存在的键应限于此查询中为表单上的房间定义的键。