在表的设计视图中,在Lookup选项卡中,我正在输入Row Source查询。在指定where
条件时,是否有某种方法可以引用表本身的列?例如,
select [footable].[foreign] from [footable] where [footable].[id] = [self].id;
我一直对这一点感到困惑。
编辑:为了澄清一个例子,假设我正在编辑的表名为bartable
,我正在为其中一个名为{{的列的下拉列表创建一个行源。 1}}。在该下拉列表中,我希望使用baz
的所有行显示select [foreign] from [footable] inner join [bartable] on [footable].[id]=[bartable].[id]
的行,但不显示该联接的所有结果 - 而是使用bartable
当前正在显示下拉列表的id
行的值。因此,如果用户点击了bartable
列中bartable
行的下拉列表,并且该行的baz
为23,则会显示所有id
所在的[footable].[foreign]
{1}}是23。
我希望更清楚。
答案 0 :(得分:1)
如果你想比较同一列,它将为你提供所有行...
这种情况或where 1=1
请检查您想要放在哪里的条件..
或者如果从其他来源获得您的期望id
,请相应地评论或编辑您的问题。
答案 1 :(得分:0)
我刚来到这个页面寻找同一个问题的答案。
首先,对问题进行一些澄清(因为似乎存在一些混淆)。您有一个条形表,它与Foo表具有外键关系。当您单击条形图表中的“baz”列时,您会看到一个下拉列表,显示Foo表中的每个行。您不希望显示Foo表中的每一行;您希望根据条形图行中已有的某些信息显示所选行的某些子集。
就我而言,我想这样做是因为Bar和Foo都与第三个表Quux有外键关系。当我使用Bar的“baz”列中的下拉列表时,我只希望Foo中的行链接到Quux中与Bar中的行链接的同一行。
这在Access 2007中对我有用:
SELECT [Foo].[PrimaryKey] FROM Foo WHERE [Foo].[ForeignKey to Quux]=[Bar].[ForeignKey to Quux];
答案 2 :(得分:-1)
使用" CurrentRecord"财产,例如
select [footable].[foreign]
from [footable], [bartable]
where [footable].[id] = [bartable.fk]
and [bartable.id] = [CurrentRecord];
" bartable"是您输入"行来源"的表格。查询选项卡中的查询