2011-02-23 41 views
0

我正在嘗試在MS Access上創建一個報告。始發的報告的查詢如下:訪問SQL:解決錯誤3612?

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。[ORDER] | 。T2 [小時]
1 | 100
1 | 100
2 | 300
2 | 300
2 | 300

T1。[訂購]T1。[小時]是整數類型。 T2。[訂購]T2。[時間]是字符串類型(請不要問!)

查詢正確執行。它創建取決於具有相同次序值的行數的附加列Espr1含有T1.HOURS(或T2.HOURS)的分區。

例如:

[訂購] | [HOURS] | [Espr1]
1 | 100 | 50
1 | 100 | 50
2 | 300 | 100
2 | 300 | 100
2 | 300 | 100

但是,當我在報告中創建一個文本框與下面的源:

= DSum([Espr1]) 

MS訪問給我the error 3612,但我不聲明任何GROUP BY clausole!

有人的你,有經驗的程序員都知道如何解決辦法這個錯誤?


其他有同樣的問題(見thisthis),但沒有解決方案...

回答

0

Wupps ......答案是在問題中指定的環節之一。有必要創建另一個查詢,這個查詢在FROM子句中指定了上面的查詢。

就是這樣。謝謝MS ...