410 410 フォームで期間指定をしてデータを抽出 | 初心者のためのOffice講座-SupportingBlog2 Yoshiko Hamamoto

フォームで期間指定をしてデータを抽出

Accessでパラメータクエリを使うと範囲を指定してデータを抽出することができます。


また、簡単なフォームを作成して、クエリの抽出条件にフォームのコントロールを指定することもできます。この方が、抽出条件のミスは防げるかもしれません。

期間指定フォームの作成

まず、下のようなフォームを作成します。

フォーム名は「F_期間指定」で、開始日、終了日を入力するテキストボックスの名前は「テキスト1」と「テキスト3」です。
(本来はテキストボックスの名前もわかりやすい名前にしたほうがいいです)


データを抽出するクエリを作成

次に指定された範囲のデータを抽出するクエリを作成します。
「日付」フィールドの「抽出条件」に、以下のように入力します。

Between [forms]![F_期間指定]![テキスト1] And [forms]![F_期間指定]![テキスト3]

「F_期間指定」の「テキスト1」と「テキスト3」に日付を入力してフォームを表示したまま、「Q_期間抽出」を実行してみてください。

クエリは「Q_期間抽出」と名前を付けて保存します。


レポートの作成

レポートを作成して、印刷したときに期間が表示されるようにしたほうが分かりやすいですね。
「F_期間指定」の開始日「テキスト1」と終了日「テキスト3」の値がレポートに表示されるようにします。


レポートの開始日を表示したいテキストボックスのプロパティを開き、「コントロールソース」に、以下のように入力します。

=[forms]![F_期間指定]![テキスト1]

終了日を表示したいテキストボックスには、以下のように入力します。

=[forms]![F_期間指定]![テキスト3]

レポートは「R_売上」と名前を付けて保存します。


フォームのコマンドボタンのクリック時イベント

フォーム「F_期間指定」の「キャンセル」「印刷」「実行」の各コマンドボタンの「クリック時」のイベントプロシージャには、以下のように書き込みます。


Access2007で解説していますが、バージョンに関係なく作成できます。

【関連】以下の記事でも期日を指定してレコードを抽出する方法を解説しています。

期日までのデータを絞り込んだレコードを表示したい