Accessの検索フォームの作り方をお探しですね。
広告
Accessで便利な「あいまい検索フォーム」を作ろう!初心者でも分かる作り方ガイド
Accessは大量のデータをまとめて管理できる便利なデータベースソフトです。
でも、データがどんどん増えていくと、「あの情報どこだっけ?」と探すのが大変になってきますよね。
Excelのフィルター機能だと毎回条件を設定し直さなきゃいけなくて面倒ですが、Accessなら専用の「検索フォーム」を作っておけば、キーワードを入力してボタンをポンと押すだけで、パッと目的のデータが見つかります。
この記事では、会社名や商品名の一部だけを入力すれば該当するデータがサッと出てくる、実用的な「あいまい検索フォーム」の作り方を、初心者の方にも分かるように丁寧に解説していきます。
1. あいまい検索フォームってどういう仕組み?作る流れを理解しよう
Accessで使いやすい検索フォームを作るには、データベースを構成するいくつかの部品を組み合わせる必要があります。
具体的には、データが入っている「テーブル」、条件に合うデータだけを取り出す「クエリ」、そして実際に操作する画面の「フォーム」の3つです。
これらがうまく連携することで、「キーワードを入力→検索結果が表示される」という便利な仕組みが完成します。
ここで大事なのが「あいまい検索(部分一致検索)」という機能です。
たとえば「株式会社〇〇システム」という正式名称を全部覚えていなくても、「システム」とだけ入力すれば該当する会社のデータが出てくる、そんな便利な検索方法のことです。
Accessでこれを実現するには、クエリの抽出条件に「Like演算子」と「ワイルドカード」という特殊な記号を使います。
難しそうに聞こえるかもしれませんが、複雑なプログラミング(VBA)を全部書く必要はなく、Accessの基本機能を組み合わせるだけで十分実用的なものが作れるんです。
全体の作業の流れは、こんな感じです。
– 検索したいデータ(テーブル)を用意する
– キーワードを入力する画面(フォーム)を作る
– 入力されたキーワードでデータを絞り込む処理(クエリ)を作る
– 検索画面に結果を表示させて、検索ボタンに更新機能をつける
この流れを頭に入れておくと、作業中に「今何やってるんだっけ?」と迷子にならずに済みます。
まずは検索の土台になるテーブルと、実際に操作する入力画面を準備するところから始めましょう。
2. 検索するための「テーブル」と「検索画面」を準備しよう
あいまい検索を作る最初のステップは、検索したいデータが入ったテーブルを用意することです。
ここでは例として、会社名や担当者名が記録された「顧客管理テーブル」があるという前提で進めていきますね。
テーブルの準備ができたら、次はユーザーが検索キーワードを入力するための画面、つまり「検索用フォーム」を新しく作ります。
Accessの「作成」タブから「フォームデザイン」を選んで、まっさらなフォームを開きましょう。
ここでポイントなのが、特定のテーブルに直接つながっていない「非連結フォーム」として作ることです。
普通のデータ入力フォームはテーブルと直結していますが、検索フォームはあくまで「検索キーワードを一時的に入れておく箱」として使うので、どのテーブルにも紐づけない独立した画面にします。
画面上のツールバーから「テキストボックス」を選んで、フォーム上に配置してください。
テキストボックスを置くと、文字を入力する枠と、その横に説明用のラベルが表示されます。
後でクエリからこのテキストボックスを呼び出すので、分かりやすい名前をつけておくのがとても大切です。
– 配置したテキストボックスを選んで、プロパティシートを開く
– 「その他」タブにある「名前」のところを「txt検索キーワード」に変える
– ラベルは「検索する会社名を入力:」など、見てすぐ分かる表記にする
それから、検索を実行するための「ボタン(コマンドボタン)」もフォーム上に置いておきましょう。
ボタンの名前は「btn検索」などにして、ボタンの表面には「検索実行」と表示させます。
これで、ユーザーがキーワードを入力してボタンを押すための操作画面の基礎が完成しました。
ここで一度このフォームを「F_検索画面」という名前で保存して、次のステップに進みましょう。
3. Like演算子を使った「データを絞り込むクエリ」を作ろう
検索画面ができたら、次はその画面に入力された文字を読み取って、テーブルの中から該当するデータを引っ張り出してくる「クエリ」を作ります。
このクエリの設定が、あいまい検索フォームを動かす一番大事なポイントになります。
Accessの「作成」タブから「クエリデザイン」を開いて、検索対象の「顧客管理テーブル」を追加し、検索結果として表示させたい項目(会社名や電話番号など)を下のグリッド部分に並べてください。
ここからが本番です。
会社名の項目に「あいまい検索」の条件を設定していきます。
会社名の列の「抽出条件」という行に、さっき作った検索フォームのテキストボックスを参照する式を書き込みます。
具体的には次の式を入力してください。
“`
Like "*" & [Forms]![F_検索画面]![txt検索キーワード] & "*"
“`
ちょっと複雑に見えますが、意味を分解するとシンプルで分かりやすいんです。
– 「Like」→完全一致じゃなくて、パターンが合ってればOKという命令
– 「*(アスタリスク)」→どんな文字が何文字あってもいいよ、という意味の記号(ワイルドカード)
– 「&」→文字や記号をつなげる記号
– 「[Forms]![F_検索画面]![txt検索キーワード]」→さっき作ったテキストボックスの場所を示す住所みたいなもの
この式を書くことで、「フォームに入力された文字の前後に、どんな文字があっても引っかける」という指示になり、部分一致のあいまい検索が実現します。
たとえばテキストボックスに「システム」と入力されたら、裏側では「*システム*」という条件に変換されて、「〇〇システム株式会社」とか「システム〇〇合同会社」みたいなデータが全部抽出される仕組みです。
設定できたら、このクエリを「Q_検索結果」という名前で保存しましょう。
4. 検索フォームを完成させよう!最後の仕上げ
ここまでで「キーワードを入力する画面」と「条件に合うデータを抽出するクエリ」が揃いました。
最後はこの2つを合体させて、1つの画面で検索から結果の確認までできる実用的なフォームに仕上げていきます。
具体的には、手順2で作った「F_検索画面」の下半分に、手順3で作ったクエリ「Q_検索結果」を「サブフォーム」として埋め込みます。
デザインビューで「F_検索画面」を開いて、ツールバーから「サブフォーム/サブレポート」のコントロールを選んでフォーム上に配置します。
ウィザードが起動したら、既存のクエリ「Q_検索結果」を使うように指定して完了させましょう。
これで、上に検索キーワードを入れる欄、下に検索結果の一覧が並ぶ、本格的な画面レイアウトができあがります。
でも、これだけではまだ不十分です。
検索ボタンを押しても、下のリストは自動で更新されません。
キーワードを入力した後に最新の結果を反映させるための「再クエリ(Requery)」という動作をボタンに設定する必要があります。
ボタンに動作を設定する手順はこちら:
– フォーム上の「検索実行」ボタンを選んで、プロパティシートの「イベント」タブを開く
– 「クリック時」の項目にある「…」ボタンを押して、マクロビルダーを起動する
– 新しいアクションの追加から「再クエリ」を選んで、コントロール名にサブフォームの名前を指定する
– マクロを保存して閉じる
この設定をすることで、ユーザーがキーワードを入力して検索ボタンをクリックした瞬間、Accessが裏側でクエリを再計算して、下のリストがパッと最新の検索結果に切り替わるようになります。
Excelのフィルター操作で毎回メニューを開き直していた手間が嘘みたいに、サクサク動く便利な業務システムの完成です!
Accessのあいまい検索フォームは、一度作り方を覚えてしまえば、在庫管理や売上管理などいろんなデータベースに応用できます。
今回解説した「非連結フォーム」「Like演算子とワイルドカード」「再クエリ」という3つの大事なポイントを押さえながら、ぜひ自分の仕事に合った便利な検索システムを作ってみてください!
広告
