期間抽出方法-条件設定フォームで特定期間のレコードを抽出します-
概要
日付型フィールド(契約日など)を持っているフォームにおいて、特定期間のレコードのみを抽出する方法です。
期間設定には専用フォームを設け、
入力された条件に合うレコードをクエリで抽出します。
次の図は仕組みのイメージです。
- (ポイント)
- 条件設定フォームを使う。
- 抽出条件を入れたクエリを作成し、メインフォームのレコードソースにする。
作成手順
備品管理のシステムをモデルにした使用例です。
- メインとなるリストフォーム
・フォームの名前:[F_備品リスト] レコードソース:[T_備品マスタ]
・表示フィールドは[code番号][品名][型番][取得日]の4フィールドとなっています。
・抽出は[取得日]の特定期間(オレンジ枠)にします。
・フッタ部にコマンドボタン「抽出」1と「抽出解除」2を設置します。
「抽出」ボタンの名前:[Cmd_抽出]
「抽出解除」ボタンの名前:[Cmd_抽出解除]
- 期間設定用のフォームの作成
①非連結フォームを作成します。フォーム上に二つのテキストボックスと二つのコマンドボタンを設置し、それぞれ次の名前にします。
テキストボックス1 名前:[Txt_開始日付] 書式:日付 (S)
テキストボックス2 名前:[Txt_終了日付] 書式:日付 (S)
コマンドボタン3 名前:[Cmd_実行]
コマンドボタン4 名前:[Cmd_閉じる]
④フォーム名:[F_期間設定]にして保存します。
- クエリーの作成
抽出用のクエリを作成します。メインフォームのレコードソースとして使用するものです。
①テーブル[T_備品マスタ]から[code番号][品名][型番][取得日]の4フィールドを取り出します。
②抽出フィールドに期間設定フォームの日付を参照する式を入れます。
式(オレンジ枠)の内容
③クエリの名前を[Q_期間抽出]として保存します。
- コマンドボタンのプロシージャ割り当て
①メインフォームのコマンドボタン[Cmd_抽出]
役割は期間設定用フォームの表示です。また、レコードソースを[Q_期間抽出]に切り替えも行わせます。イベントはクリック時。
プロシージャの内容
②メインフォームのコマンドボタン[Cmd_抽出解除]
役割は、レコードソースを元の[T_備品マスタ]に切り替えることです。イベントはクリック時。
プロシージャの内容
③期間設定用フォームのコマンドボタン[Cmd_実行]
役割は、メインフォームのレコードソースをメインフォームの再クエリです。イベントはクリック時。
プロシージャの内容
④期間設定用フォームのコマンドボタン[Cmd_閉じる]
役割は、フォームの閉じることです。イベントはクリック時。
プロシージャの内容
(この項終わり)