Access クエリで抽出条件として日付を使用すると、期待した結果が得られない場合があります。
上記のクエリでは、抽出条件 >=#1/1/2005#<#1/1/2010# は無効なので機能しません。 クエリは実行されますが、結果が間違っている可能性があります。 抽出条件には、日付の間に "And" 演算子が必要です。 "And" 演算子を使用した以下に示す条件は、期待どおりに動作します。
簡単にするために、"より大きい"、"より小さい"、"等しい" 記号を使用する代わりに、次のように、日付と "And" 演算子を含む "Between" を使用して同じテストを行うことができます。
Between #1/1/2005# and #1/1/2010#
日付を囲む # 文字 (シャープ記号) にご注目ですか? Access で認識された日付を入力すると、自動的に # 文字で囲まれます。
日付の抽出条件の例
これにより、有効な条件とそうでない条件がいくつか示されます。
| 抽出条件 | 次の値のレコードが返されます。 |
|---|---|
| >12/31/10 | 2011 年 1 月 1 日以降の日付。 |
| <=2014 年 6 月 1 日 | 2014 年 6 月 1 日以前。 |
| 8/25/13 | 唯一の日付は 8/25/13. |
| 9/1 から 12/31/15 の間 | 今年の 9 月 1 日以降、2015 年 12 月 31 日以前。 |
| >3/31/13<7/1/13 | すべての日付。 抽出条件に "And" 演算子がないため、フィルター処理によって結果が除外されません。 |
| Between 3/1/10 and 1/1/05 | 日付は 05/1/1 以降、2010/3/1 以前。 条件に新しい日付が入力されている日付が早い日付よりも前であっても問題ではありません。 |
Access で認識される日付形式の例
[ 抽出条件 ] セルで使用できる多くの日付形式の一部を次に示します。
| 書式 | 例 |
|---|---|
| m/d/yyyy | 10/5/2013 |
| m/d | 10/5 指定しない場合は、今年が使用されます。 |
| d-mmm-yyyy | 2013 年 10 月 5 日 |
| m-d-yyyy | 3-7-1990 |
クエリの抽出条件として日付を使用するさまざまな方法については、「 Access クエリで抽出条件として日付を使用する例 」を参照してください。