2011-06-15 45 views
0

我基本上试图计算Item A的出现次数,如果Item B的值是'string'。在Access 2007中对多个域使用DCount

我已经做了像这 - 这变成了一个错误:

DCOUNT( “[项目A]”, “[表]”,“[项目A]> 1和[项目B] = '苹果')

不幸的是,B在不同的表中,所以当我运行查询时MS Access无法识别它。我还可以做些什么?

请帮助。

回答

1

你需要join这两个表。 DCount是“域”计数。域基本上是单个表/查询中单个字段/列下的值,因此限制为单个表。解决这个我觉得最简单的方法是使这使两表的查询,使得无论item aitem b来自同一个地方访问:

SELECT [item a], [item b] 
FROM [Table] AS t 
INNER JOIN [Other Table] AS ot 
    ON t.itemID = ot.itemID 

很显然,我不知道你的其它表的名称,或者需要进行连接的字段的名称(在该查询中由ON指定),所以在适当的位置替换字段名和表名。因此,假设我将该查询命名为“productA-B”,则您的DCount用法如下所示:

DCount("[item a]", "productA-B", "[item a] > 1 AND [item b] = 'apples'") 
0

这是很长一段时间,因为我使用的承诺,但你不能前缀[Item B]与表名?即[other_table].[Item B]