访问SQL:解决错误3612?

时间:2011-02-23 21:20:28

标签: sql sql-server ms-access

我正在尝试创建有关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!

有些人,有经验的程序员有想法如何解决这个错误?


其他人有同样的问题(见thisthis),但没有解决方案...

1 个答案:

答案 0 :(得分:0)

Wupps ......答案是在问题中指定的其中一个链接中。有必要创建另一个查询,在FROM clausole中指定上面的查询。

就是这样。谢谢MS ...