テキストボックスを使った「あいまい語」検索

説明

フォーム上に検索用テキストボックスを設置し、そこに入力された「語」を含むレコードを検索してフォームに表示させる方法

※技術ポイント
  • DAOレコードセットでのレコード検索
  • Recordset.FindFirst でのレコード検索
  • Recordset.FindNext でのカレントレコード以降の検索

作り方

1.使用するフォーム

次のフォームに事例フォームに使って行います。

2.検索用コントロールの設置
  1. フォームをデザインビューで開き、ヘッダ部を表示させます。コントロールを設置するのに使います。高さは2センチが目安です。
  2. ツールボックスからテキストボックスを一つ、コマンドボタンを二つ、ヘッダ部に設置します。コマンドボタンが二つ必要なのは、 検索されるレコードが複数ありえるからです。一つは最初の検索用に、もう一つは次のレコードを検索するためです。
  3. 名前も付けておきます。ここでは次のように名付けました。
    テキストボックスに「Txt_検索語」、コマンドボタンに「Cmd_検索実行」「Cmd_次を検索」、ボタンの表題もそれぞれ「検索実行」 「次を検索」にします。
3.「検索実行」ボタンに検索機能をつける

※DAOのレコードセットを使います。参照設定で「Microsoft DAO 3.5 Object Liblary」を使えるようにしておいてください。

  1. @ クリック時イベントのプロシージャを作成します。
    (その手順)
    ボタン上で右クリックメニューで「イベントのビルド」をクリック、で「ビルダの選択」画面から「コードビルダ」をクリックします。
  2. 表示されたVBAエディタの作成されたプロシージャに次のようにコードを記述します。緑色の文字は説明文ですので、機能には関係ありません。
    (検索実行ボタンのプロシージャ)
4.「次を検索」ボタンに検索機能をつける
  1. クリック時イベントのプロシージャを作成します。
  2. 表示されたVBAエディタの作成されたプロシージャに次のようにコードを記述します。緑色の文字は説明文ですので、機能には関係ありません。
    (次を検索ボタンのプロシージャ)
  3. 機能はこれで完成です。フォームビューで表示して操作し結果を確認してください。
5.その他の調整

付け加えた各コントロールの位置やラベルの調整は行っていません。分かりやすく使いやすい形状に仕上げてください。 テキストボックスのラベル表示は「氏名に含まれる文字を入力」とすると良いでしょう。

(この項終わり)