【发布时间】:2018-08-22 15:08:46
【问题描述】:
我正在尝试制作一份报告,我需要知道像这样的另一个表中的项目数
+----------+--------+--------------------------------------------+
| Sale No. | Widget | Total Sold |
+----------+--------+--------------------------------------------+
| 123 | foo | Dcount(another table where widget = "foo") |
| 456 | bar | Dcount(another table where widget = "bar") |
+----------+--------+--------------------------------------------+
。
SELECT [Sale No.]
, Widget
, Dcount("SELECT foo from whatever where widget = " & widget) as [Total Sold]
FROM sometable
不幸的是,这会查询数据库中的每条记录,对于这样一个必须每天运行的报告来说,这并不是很有效。
有没有办法查询一次,通过 VBA 或一些我不知道的 SQL 将查询保存在内存中或每个唯一项目的计数。基本上只查询另一张表一次而不是N次。
这是一个更准确的表格,可以更准确地反映我的数据
+----------+------------+---------+------------------+
| Employee | Department | Policy | Review Requested |
+----------+------------+---------+------------------+
| 123 | Sales | PlanABC | TRUE |
| 456 | Sales | PlanABC | TRUE |
| 789 | Accounting | PlanXYZ | FALSE |
| 101112 | Accounting | PlanXYZ | TRUE |
| 131415 | Sales | PlanXYZ | FALSE |
| 161718 | Admin | PlanJKL | TRUE |
+----------+------------+---------+------------------+
我想要的结果
+------------+----------+---------+----------------------+
| Department | Employee | Policy | Count of All Polices |
+------------+----------+---------+----------------------+
| Sales | 123 | PlanABC | 2 |
| Sales | 456 | PlanABC | 2 |
| Accounting | 101112 | PlanXYZ | 3 |
| Admin | 161718 | PlanJKL | 1 |
+------------+----------+---------+----------------------+
【问题讨论】:
-
您可以加入您的表并使用 SQL
Count而不是 AccessDCOUNT。您的原始表格是如何设置的? -
[Sale No.]在表中是唯一的吗? -
据我所知,没有真正的逻辑连接。它实际上是同一张表,查询是获取所有记录,其中 status="foo" 计算具有相同小部件的所有记录,而不管该表的状态如何。销售编号只是一个抽象,我报告的其他一些信息并不是唯一的。
-
这些结果中是否还应该有
Sales/131415/PlanXYZ/3和Accounting/789/PlanXYZ/3?
标签: ms-access