検索条件設定フォームを使うレコード検索
概要説明
検索するフォームとは別に検索条件設定フォームを利用して検索する方法。検索条件設定フォームには、検索語を入力するテキストボックスと
検索を実行する検索実行ボタンを設け、検索結果をメインフォームに表示する関係になります。
複数の検索結果が出る場合に備えて、2件目以降への移動用の機能も設けます。
※技術ポイント
- Recordset.FindFirst でのレコード検索
- Recordset.FindNext でのカレントレコード以降の検索
- Bookmarkプロパティを使って、二つのフォーム間の連携をする。
- Do・・・Loop の繰り返し命令を使う
作り方
1.使用するフォーム
フォーム名:「F_名簿」
- フォーム仕様 形式:単票形式 レコードソース:テーブル/クエリ(連結フォーム)
2.検索条件設定フォームの作成
検索条件設定フォームを新規に作ります。フォームは非連結フォームとし、余分な機能を外した仕様にします。 また検索用にテキストボックスとコマンドボタンを設置します。その仕様は次のようにします。
【フォームの仕様】
- 名前:「F_検索条件設定」
- 形式:非連結フォーム スクロールバー:なし レコードセレクト:いいえ 移動ボタン:いいえ 境界線スタイル:細線
【コントロールの設置】
- テキストボックス「Txt_検索条件」 検索語を入力するところ
- 検索実行ボタン「Btn_検索実行」 検索を実行するボタン
- 終了ボタン「Btn_閉じる」 検索フォームを閉じるボタン
- ※各コントロールのラベルは分かりやすい表現にします。
3.検索条件設定フォームに検索機能をつける
※DAOのレコードセットを使います。参照設定で「Microsoft DAO 3.5 Object Liblary」を使えるようにしておいてください。
【検索実行ボタンの機能】
- クリック時イベントのプロシージャを作成します。
(その手順) - デザインモードでフォームを開き、ボタン上で右クリックメニューで「イベントのビルド」をクリック、で「ビルダの選択」画面から「コードビルダ」をクリックします。
- 表示されたVBAエディタの作成されたプロシージャに次のコードを記述します。緑色の文字は説明文ですので、機能には関係ありません。
【閉じるボタンの機能】
- クリック時イベントのプロシージャを作成します。
(プロシージャは省略します)
4.メインフォームに検索用のボタン設置
メインフォームから検索条件設定フォームを開くためのコマンドボタンを設置します。
クリック時イベントのプロシージャを作成します。
(プロシージャ)
5.使ってみる
機能はこれで完成。フォームビューで表示して操作し結果を確認してください。
その他の調整
付け加えた各コントロールの位置やラベルの調整は行っていません。分かりやすく使いやすい形状に仕上げてください。 テキストボックスのラベル表示は「氏名に含まれる文字を入力」とすると良いでしょう。
(この項終わり)