如何对另一个表进行查询查询根据没有宏的表之间的现有关系过滤出记录?

时间:2018-01-16 19:15:27

标签: sql ms-access

relationships

鉴于这些关系,我如何将GroupResults中给定记录中Leader的选择限制为只有那些Class& Group设置为与该记录的ID字段相同的值而不创建表单的StudentResults.IDs使用VBA?

如果我将[{1}}分配给[Leader]中的行来源,就像这个table design一样, 无论[Class& Group]字段值如何,我都可以从表格中选择所有记录,例如undesired results。 如何将可分配记录限制为仅属于相应组的那些记录?

我花了很长时间试图找到一种运行参数化SQL查询的方法,将[Class& Group]传递给WHERE子句,但最终不得不放弃。

非常感谢你的帮助!

P.S。我确实意识到这可能是也可能不是ms访问,而不是SQL问题。

1 个答案:

答案 0 :(得分:0)

表不是用户界面。有条件的组合框,验证等在表格上最有效。 Comboxbox查找下拉列表更像是一个Access GUI,可以显示关键数值的父表指示符。

当从这些表中运行查询时,这些下拉字段显示为帮助我们自然理解名称和指示符而不是整数主键/外键的人。因此,我们看到学生:John Doe 而不是 Student:1 。实际上,这样的表字段下拉甚至有助于在Access窗体上生成相同的组合框并提前报告,以避免设计人员在单击功能区上的表单图标时构建它们。

但是,根据您的需要,请考虑通过显示 [Class& Group] 字段来调整组合框,以便用户可以查看或匹配特定 Leader 的组与适当的组合 Class 列中的当前记录。查看调整后的查询和列数/头数。

Row Source: SELECT s.ID, s.[Class&Group], s.FullName FROM StudentResults s                       
Bound Column: 1
Column Count: 3
Column Heads: Yes

此外,如果您希望 Leader 名称始终显示何时打开表或查询而不是ID,请在查询中颠倒顺序并更改绑定列:

Row Source: SELECT s.FullName, s.[Class&Group], s.ID FROM StudentResults
Bound Column: 3
Column Count: 3
Column Heads: Yes