在Access 2007中将DCount用于多个域

时间:2011-06-15 13:28:26

标签: sql ms-access vba

我基本上试图计算项目A的出现次数,如果项目B的值是''字符串'。

我一直这样做 - 这会导致错误:

DCount(“[Item A]”,“[Table]”,“[Item A]> 1和[Item B] ='apples'”)

不幸的是,B位于不同的表中,因此MS Access在运行查询时无法识别它。我还能做什么?

请帮忙。

2 个答案:

答案 0 :(得分: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'")

答案 1 :(得分:0)

我使用访问已经很长时间了,但你不能在[Item B]前加上表名吗?即[other_table].[Item B]