超簡単!Accessのあいまい検索フォームの作り方

コンピューターのお仕事
スポンサーリンク

ここにたどり着いた方は脱・エクセルを目指して、ひとつ上のデータ管理を考えていることと思います。

Accessに馴染みのない人にとってフォームを作ることは難関の一つです。

今回はAccess初心者向けに超簡単な検索フォームの作り方をまとめてみたいと思います。

スポンサーリンク

この記事を読んでできるようになること

この記事の通りに進めればマイクロソフトAccessをはじめて触った人でも、テーブルさえ作ってあれば検索フォームまで作れます。

画像で紹介しているAccessのバージョンはAccess2019ですが、Access2007以降であれば操作方法はそれほど変わらないので安心してください。

フォームの内部構造クエリを簡単に作る

作成メニュー→クエリデザインから新しくクエリを作ります。テーブル表示ウインドウからあらかじめ作っておいたテーブルtbl_都道府県を選んでデザインビューに追加します。

フォーム作成1コマ送り画像

フィールドリストから、すべてのフィールドを選んで下の段へドロップしたら、右上のバツボタンを押してクエリ名をつけて終了します。

検索条件などは後ほど設定しますので、これで一旦フォームの内部構造クエリの完了です。

今回の作業ではテーブルはできあがっているものとして考えますので、テーブルの作成方法が今ひとつわからないという方には別記事で紹介しようと思いますので、楽しみにしてください。

フォームウィザードを使えば簡単にフォームが作れる

作成メニューからフォームウィザードを立ち上げます。先ほど作った

「qry都道府県 」からすべてのフィールドを選び表形式のフォームを選択し、名前をfrm都道府県としてフォームのデザイン編集に移ります。

フォームウィザードコマ送り画像

フォームウィザードで作られたフォームは、フィールドの幅や高さなどがバラバラで見栄えが悪い場合が多いので、適当に体裁を整えます。

このときにフォームの上部フォームヘッダーの幅を広げて、検索条件を入れるスペースを作ります。

フォームヘッダー作成コマ送り画像

ツールボックスからテキストボックスとコマンドボタンを選んで、それぞれフォームヘッダーの適当な位置へドラッグします。

テキストボックスとコマンドボックスにわかりやすい名前をつけて、右上のバツボタンで終了し、フォームとラベルにを名前をつけて終了です。

  • 検索ボックス名: sbx_都道府県
  • ボックスのラベル: 都道府県検索
  • コマンドボタン名: cmd_検索
  • コマンドボタンの表示名: 検索

クエリに検索条件を入力する

先程作ったクエリをデザインビューで開き、検索したいフィールドの抽出条件のらんに検索条件を入力します。

クエリ条件式画像

今回は都道府県がカナ表示されているフィールドを検索項目として、「あいまい検索」で名前の一部でもヒットすれば表示するようにします。

抽出条件のらんがせまくてコードを書きにくい場合は右クリックメニューからビルドを選択すると大きな画面が開きコード書きやすいです。

式ビルダー画像

テキストボックス名などが思い出せない場合もツリーメニューから検索ができるのでビルド画面は便利です

あいまい検索の構文は下記のとおりです。

like "*" & [forms]![フォーム名]![検索ボックスのフィールド名] & "*"

あいまい検索の構文をクエリの カナ_都道府県 の抽出条件に書き加えて上書き保存して終了します。

実際に作ったクエリに書き込んだ構文は下記の通りです。

Like "*" & [Forms]![frm_都道府県]![sbx_都道府県] & "*"

accessで検索結果をフォームに表示するボタンを作る

フォームの検索ボタンを押すと、検索ボックスに入力した値をクエリが抽出するマクロ(イベントプロシージャ)を検索ボタンに埋め込みます。

フォームをデザインビューで開き、検索ボタンを右クリックしてプロバディを表示させます。

イベントタブからクリック時を選択してイベントプロシージャを選択して右に表示する…ボタンをクリックします。

検索ボタンプロバディ

VBエディタというマクロを入力する画面が表示されるので、Private~Click() と end subの間に下記を入力します。

Private sub cmd_検索Click()
Me.Requery
end sub

入力したら、VBエディタを閉じてフォームを上書き保存します。

VBエディタ画像

もう一度フォームを開いて検索ボックスに思いついた都道府県名の一部を半角カタカナで入力して、絞り込み表示されたら完了です。

検索結果画像

テキストボックスのカナ変換を自動化させる

今回は検索対象のフィールド都道府県が半角カナで入力されていましたので、検索するテキストボックスも半角カナで入力しなければヒットしません。

半角カナ入力を毎回キーボードで変換するのは面倒なので、テキストボックスに文字を入力すると自動的に半角カナになるように設定します

デザインビューでフォームを開き、テキストボックスのプロバディですべてのタブからIME入力モードを探して、半角カタカナを設定すれば完了です。

テキストボックスプロバディ画像

まとめ

今回はAccess初心者の方を対象に、作成済みのテーブルから検索フォームを作るまでの工程を解説しました。

設定した検索方法は、都道府県のカタカナフィールドの一部の語句がヒットした場合に抽出される「あいまい検索」です。

複数の検索条件を設定する方法や、数値の検索方法など、さらに便利な使い方については別の記事でご紹介するので、楽しみにしていてください。

この記事がどなたかのお役に立てたなら幸いです。

AccessVBAを勉強している方におすすめな書籍

コメント

  1. 通りすがり より:

    ずっと悩んでいたことがようやく解決できました。とても助かりました。本当にありがとうございました。

タイトルとURLをコピーしました