文書番号: 403027
最終更新日: 2003/11/10
この資料は以下の製品について記述したものです。
- Microsoft Access(R) Relational Database Management System for Windows(R)Version 1.1 (以下 Access 1.1)
- Microsoft Access(R) Relational Database Management System for Windows(R)Version 2.0 (以下 Access 2.0)
概要
日付/時刻型 フィールドをもつテーブルから特定の期間、特定の年や月などでデータを抽出したいときには、Between ... and 演算子や 日付の関数 ( DatePart , Year , Month , Day 等) を使って抽出条件を設定します。
ここでは、クエリーで日付/時刻型フィールドに抽出条件を設定し、データを抽出する方法を紹介します。
手順
サンプルデータベース NWIND.MDB の [社員] テーブルを元にして、クエリーに抽出条件を設定しデータを抽出します。
-
[社員] テーブルを元にして、クエリーを新規に作成します。
-
クエリーのデザインビューで、QBE グリッドに必要なフィールドを設定します。
ここでは、[社員コード]、[氏名]、[誕生日] フィールドを QBE グリッドに設定します。
![[GRAPHIC: ]](JP403027A.gif)
■ 指定した年のデータを抽出する方法
-
クエリーのデザインビューで QBE グリッドの空いている列に、年を表示する式と抽出条件を設定します。
フィールド:= Year( [誕生日] )
表示 : (チェックボックスのチェックを外します。)
抽出条件 : [ 抽出年 ]
-
[クエリー] - [パラメータ] コマンドを選択し、抽出条件を入力するパラメータを指定します。
変数の定義 データ型
------------ ----------
抽出年 整数型
-
クエリーを実行します。[クエリー] - [実行] コマンドを選択するか、ツールバーの<実行> ボタンをクリックします。
-
[パラメータの入力] ダイアログボックスが表示されます。抽出する年 (例: 1968) を入力し [OK] ボタンをクリックします。
解説
Year 関数は、日付のデータの年を表わす整数値を返します。Month 関数は、月を表わす整数値 (1 ~ 12) を返します。Day 関数は、日を表わす整数値 (1 ~ 31) を返します。Month , Day 関数を QBE グリッドの [フィールド:] に設定することにより、指定月や指定日のデータを抽出することができます。
ここでは、抽出条件をパラメータ入力して抽出する方法を紹介しましたが、QBE グリッドの [抽出条件:] に、年を表わす数値を直接設定することもできます。その場合[クエリー] - [パラメータ] コマンドでパラメータの指定は必要ありません。
■ 指定した年月のデータを抽出する方法
-
クエリーのデザインビューで QBE グリッドの空いている列に、年月を表示する式と抽出条件を設定します。
フィールド:= Format ( [誕生日] , "yyyy/mm" )
表示 : (チェックボックスのチェックを外します。)
抽出条件 : [ 抽出年月 ]
-
[クエリー] - [パラメータ] コマンドを選択し、抽出条件を入力するパラメータを指定します。
変数の定義 データ型
------------ ----------
抽出年月 テキスト型
-
クエリーを実行します。[クエリー] - [実行] コマンドを選択するか、ツールバーの<実行> ボタンをクリックします。
-
[パラメータの入力] ダイアログボックスが表示されます。抽出する年月を入力し[OK] ボタンをクリックします。パラメータの年月は、yyyy/mm (4 桁の年、/半角のスラッシュ、2 桁の月) の書式で入力してください。
解説
Format 関数は、指定した書式にしたがって、数値、日付、時間、文字列を表示します。ここでは、抽出条件をパラメータ入力して抽出する方法を紹介しましたが、QBE グリッドの [抽出条件:] に、年と月を表わす文字列 yyyy/mm (4 桁の年、/半角のスラッシュ、2 桁の月) の文字列 (例: "1968/03") を直接設定することもできます。その場合 [クエリー] - [パラメータ] コマンドでパラメータの指定は必要ありません。
■ 指定した期間内のデータを抽出する方法
-
クエリーのデザインビューで QBE グリッドの [誕生日] の列に、抽出条件を設定します。
フィールド: [誕生日]
抽出条件 : Between [ 開始日 ] and [終了日]
2.[クエリー] - [パラメータ] コマンドを選択し、抽出条件を入力するパラメータを
指定します。
変数の定義 データ型
------------ ------------
開始日 日付/時刻型
終了日 日付/時刻型
3. クエリーを実行します。[クエリー] - [実行] コマンドを選択するか、ツールバーの
<実行> ボタンをクリックします。
4. [開始日] を入力する [パラメータの入力] ダイアログボックスが表示されます。
抽出する日付の開始日 (例: 1968/06/01) を入力します。 [OK] ボタンをクリック
します。
[開始日] を入力する [パラメータの入力] ダイアログボックスが表示されます。
抽出する日付の終了日 (例: 1968/12/31) を入力します。 [OK] ボタンをクリック
します。
解説
Between...And 演算子は、指定した値の範囲内にあるかどうかを評価します。
Not 論理演算子を組み合わせて、反対の条件 (範囲外) を評価することもできます。ここでは、抽出条件をパラメータ入力して抽出する方法を紹介しましたが、QBE グリッドの [抽出条件:] に、日付を直接設定することもできます。その場合[クエリー] - [パラメータ] コマンドでパラメータの指定は必要ありません。日付データを直接設定する場合は # (シャープ記号) で日付データを囲みます。(例: #1968/06/01#)
■ 指定日より特定の期間内のデータを抽出する方法
-
クエリーのデザインビューで QBE グリッドの [誕生日] の列に、抽出条件を設定します。指定日から 90 日前までの期間のデータを抽出する条件式を紹介します。
フィールド: [誕生日]
抽出条件 : Between DateAdd ( "d" , - 90, [指定日 ] ) and [指定日]
-
[クエリー] - [パラメータ] コマンドを選択し、抽出条件を入力するパラメータを指定します。
変数の定義 データ型
------------ ------------
指定日 日付/時刻型
終了日 日付/時刻型
-
クエリーを実行します。[クエリー] - [実行] コマンドを選択するか、ツールバーの<実行> ボタンをクリックします。
-
[指定日] を入力する [パラメータの入力] ダイアログボックスが表示されます。抽出する日付の指定日 (例: 1968/06/01) を入力します。 [OK] ボタンをクリックします。
解説
DateAdd 関数は、指定した期間 (年、月、日、時間) を日付/時刻データに加えたり引いたりした値を返します。
■ 偶数年のデータを抽出する方法
-
クエリーのデザインビューで QBE グリッドの空いている列に、年が偶数か奇数を判断する式と抽出条件を設定します。
フィールド:= Year ( [誕生日] ) Mod 2
表示 : (チェックボックスのチェックを外します。)
抽出条件 : 0
-
クエリーを実行します。[クエリー] - [実行] コマンドを選択するか、ツールバーの<実行> ボタンをクリックします。
解説
フィールドで設定した式は、年を 2 で除算し Mod 演算子で除算の剰余を求めています Mod 演算子の戻り値が 0 であれば年が偶数になり、1 であれば年は奇数になります。
抽出条件に 1 を設定すれば、奇数年のデータが抽出できます。
Keywords: KBHOWTO KB403027
Technology: kbAccessSearch