我正在尝试创建有关MS Access的报告。发起报告的查询如下:
SELECT t1.[ORDER], t1.[HOURS], T1.[HOURS]/(SELECT COUNT(*)
FROM T2 t2
WHERE CStr(t1.[ORDER]) = CStr(t2.[ORDER])) as Espr1 FROM T1;
数据表的一个例子是:
T1。[订购] | T1。[小时]
1 | 100个
1 | 100个
2 | 300个
2 | 300个
2 | 300个
T2。[订购] | T2。[小时]
1 | 100个
1 | 100个
2 | 300个
2 | 300个
2 | 300个
T1。[ORDER] 和 T1。[HOURS] 是整数类型。 T2。[ORDER] 和 T2。[HOURS] 是字符串类型(请不要问!)
查询正确执行。它会创建一个附加列 Espr1 ,其中包含T1.HOURS(或T2.HOURS)的分区,具体取决于具有相同ORDER值的行数。
例如:
[订购] | [HOURS] | [Espr1]
1 | 100 | 50个
1 | 100 | 50个
2 | 300 | 100个
2 | 300 | 100个
2 | 300 | 100个
但是当我在报告中使用以下来源创建文本框时:
= DSum([Espr1])
MS Access给我the error 3612,但我没有宣布任何GROUP BY clausole!
有些人,有经验的程序员有想法如何解决这个错误?
答案 0 :(得分:0)
Wupps ......答案是在问题中指定的其中一个链接中。有必要创建另一个查询,在FROM clausole中指定上面的查询。
就是这样。谢谢MS ...