MS Access 2010 - 如何使用其他表单元素中的条件为表单组合框设置自定义行源



我特别有三个表,我正在使用:

  • 目录 [身份证号码姓名]
  • tblKeyed_Rooms [IDRoom_IDKey_Number]
  • tblKeys [Key_Number]

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

  • 来自 tblCheckouts 的密钥[Key_Number]
  • 房间从tblKeyed_Rooms[Room_ID]

其中,"房间的行源"是tblKeyed_Rooms中的任何行,其中键号 =

我根据我在互联网上搜索时发现的内容尝试了几种不同的查询,其中大多数类似于:

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]);

因此,在表单中,它会显示""和"名称"。

如何使用 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 别名表中的任何字段,这些字段连接到 frmKeyList 表单上的可用字段。

我不清楚结帐表如何适应。可能位于该 RowSource 中的键应限制为在此查询中为窗体上的房间定义的键。

最新更新