【问题标题】:MS Access - in a query, count number of records with specific value in another queryMS Access - 在一个查询中,计算另一个查询中具有特定值的记录数
【发布时间】:2021-05-26 06:43:41
【问题描述】:

我在 MS Access 中有 2 个查询(QueryA、QueryB)。他们每个人都有一些其他人没有的记录。有一个字段可以用来检查它,称为 UniqueID。两个查询都有这个字段(从技术上讲,它并不完全唯一,也不是主键,但我认为它与我的问题无关)。

我通常在 Excel 中做的是使用 COUNTIF 函数计算 QueryA 中有多少具有此特定 UniqueID 的记录/行。所以我会在 Excel 中的 QueryB 选项卡上:

=countif(QueryA!A:A,[@UniqueID])

Excel 中的 QueryB 选项卡:

--------------------------------------------
UniqueID | Instances of UniqueID in QueryA |
12341    | 2                               |
44444    | 1                               |
66666    | 0                               | 

所以我知道 QueryA 选项卡/工作表中有 2 行 UniqueID 12341,1 个实例 44444,一个 NO 实例 UniqueID 66666

所以我想在我的 Access QueryB 中添加实例字段(以检查 QueryA 中每个 UniqueID 记录有多少条记录(如果有)。

快速谷歌显示 DCount 可能是我所追求的,但我正在努力引用查询。因此,在 QueryB 中,我已将字段/列添加到我的查询中:

Instances: DCount([UniqueID],[QueryA],[UniqueID]=[UniqueID])

这显然是错误的,但不知道该怎么做。谢谢

我不想执行聚合函数“计数”,因为此查询中有更多字段,所以我不能只按 UniqueID 分组。

【问题讨论】:

    标签: ms-access


    【解决方案1】:

    应查看有关域聚合函数的 MS 文档。用引号将对象引用括起来并连接动态参数。

    Instances: DCount("*","[QueryA]","[UniqueID]=" & [UniqueID])

    或者构建一个聚合查询,通过 UniqueID 对 QueryA 进行计数,并将该查询连接到 QueryB。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多