何らかの理由で、Access 2010のGroupByを使用してselectクエリで日付/時刻フィールドを使用すると中断します(レコードは最初にテキストフィールドによって適切に「グループ化」されず、同じ「aTextField」値が複数回表示されます)。単純な1つのテーブルクエリで問題を再現できます。元:
SELECT aTextField, SUM(aIntField) AS SumOfaIntField
FROM simpleTable
GROUP BY aTextField, aDateField
HAVING aDateField >= Date()
ORDER BY aTextField;
クエリ(Group ByおよびHaving行)から「aDateField」を削除するとすぐに、正しく機能します。HAVINGラインを削除することもできますが、それでも壊れます。それはGroupByの何かであると私に信じさせてくれます。
どんなフィードバックも素晴らしいでしょう。ありがとう!
編集詳細
**simpleTable**
--------------------------------------------
| ID | aTextField | aIntField | aDateField |
============================================
| 1 | John Doe | 1 | 3/14/2013 |
| 2 | John Doe | | 3/15/2013 |
| 3 | Jane Doe | 1 | 3/15/2013 |
| 4 | John Doe | 2 | 3/18/2013 |
| 5 | Jane Doe | 1 | 3/19/2013 |
| 6 | John Doe | | 3/20/2013 |
| 7 | John Doe | 3 | 3/21/2013 |
| 8 | Jane Doe | 1 | 3/19/2013 |
| 9 | John Doe | | 3/22/2013 |
| 10 | Jane Doe | 2 | 3/20/2013 |
| 11 | Jane Doe | | 3/21/2013 |
| 12 | Jane Doe | | 3/22/2013 |
--------------------------------------------
**Expected Result**
-------------------------------
| aTextField | SumOfaIntField |
===============================
| Jane Doe | 4 |
| John Doe | 3 |
-------------------------------
**Actual Result**
-------------------------------
| aTextField | SumOfaIntField |
===============================
| Jane Doe | 2 |
| Jane Doe | 2 |
| Jane Doe | |
| Jane Doe | |
| John Doe | |
| John Doe | 3 |
| John Doe | |
-------------------------------
したがって、発生しているように見えるのは、日付ごとに個別の行もあるということです。日付でフィルタリングする必要があり、必ずしもGroupByである必要はありません。ただし、Accessは、クエリをグループ化せずに受け入れることはできません。オプション?