リンクユニット

Windows10 & Office2016 Access2016

テキストボックスでレコード抽出

投稿日:2017年1月7日 更新日:

Accessのフォームで検索用のテキストボックスを作成して、そのテキストボックスに入力した文字から部分一致でレコードを抽出する方法を紹介します。
下のようなテーブルがあります。
テーブル

デザインビューは下のようになっています。
デザインビュー

分割フォームの作成

このテーブルを元に分割フォームを作成します。テーブルを選択した状態で、[作成]タブにある[フォーム]グループの[その他のフォーム]から[分割フォーム]をクリックします。
分割フォームの作成

フォームはレイアウトビューで表示されますが、デザインビューに切り替えてコントロールの大きさなどを調整しておきます。
デザインビューでコントロールの調整

フォームビューに切り替えると、下のようなフォームが完成します。この分割フォームは、上がレコードの単票、下がデータシートになっていて、とても便利です。検索や並べ替えもExcelのフィルターと同じように操作できます。個人で使う場合は、これだけでも十分な機能を備えてると思うのですが。やはり共有で使用する場合は、このフィルターの使い方に慣れていない方もいるので考慮しないといけません。
分割フォームの完成

検索用テキストボックスの作成

そこで、商品名を簡単に検索したり、抽出できるようにするために検索用のテキストボックスを作成して、入力したテキストから部分一致検索ができるようにしたいと思います。
フォームをデザインビューで開いて、非連結のテキストボックスを1つ作成します。[デザイン]タブのコントロールにある[テキストボックス]をクリックして、[詳細]エリアにドラッグします。
[テキストボックスウィザード]が表示されたら、[キャンセル]ボタンをクリックします。ウィザードの方が分かりやすい場合は、そのまま次へ進んで完成させても構いません。
テキストボックスの作成

ラベルとテキストボックスに名前付け

非連結のテキストボックスを選択した状態で、[デザイン]タブの[プロパティシート]をクリックしてプロパティを表示させます。[その他]タブで[名前]を[検索]とします。ラベルの標題は[商品名検索]にします。ラベルの標題は、プロパティからでもいいですし、ラベルを選択して、そのまま入力してかまいません。

検索ボタンの作成

そして、テキストボックスの横に[検索]ボタンを作成します。[デザイン]タブの[ボタン]をクリックして[詳細]エリアのテキストボックスの横でドラッグしてボタンを作成します。ウィザードが表示されたら、[キャンセル]ボタンをクリックて閉じます。コマンドボタンを選択して、プロパティシートの[書式]タブで[標題]を[検索]にします。
コマンドボタンの設置と名前変更

そして、[その他]タブを選択して[名前]を[検索ボタン]に変更します。
ボタンの名前

今度は[イベント]タブをクリックして、[クリック時]の[ビルダー選択]ボタン[…]をクリックします。
プロパティのイベントタブ

コードビルダーの起動

[ビルダーの選択]ダイアログボックスが表示されたら、[コードビルダー]を選択して[OK]ボタンをクリックします。
ビルダーの選択

下のように書き込みます。[検索]はテキストボックスの名前になります。Like演算子を使用してあいまい検索をします。
Me.Filter = "商品名 like'*" & 検索 & "*'"
Me.FilterOn = True

イベントプロシージャ

検索ボタンをクリックして実行

フォームビューに切り替えて、検索してみます。テキストボックスに文字を入力して、[検索]ボタンをクリックすると、下のように商品名の一部に検索文字を含む商品名が抽出されます。
テキストボックスで抽出

フィールドの非表示

分割フォームのデータシートに[商品名検索]フィールドは不要なので、右クリックしてショートカットメニューから[フィールドの非表示]をクリックして非表示にしておきます。
フィールドの非表示

フィルター解除ボタンの作成

また、レコードの抽出を解除するためのボタンも設置しておくと便利です。別のボタンを1つ作成して、検索ボタンの横に設置します。そして、クリック時のイベントに下のように書き込みます。
Me.FilterOn = False
イベントプロシージャは下のようになります。
イベントプロシージャ

これで完成です。
フォームの完成

コンボボックスから抽出する方法は、コンボボックスでレコードの抽出で解説しています。

コンボボックスでレコードの抽出

Accessの分割フォームのデータシートビューには、Excelのフィルターと同じようにフィルタボタンがあり、Excelの操作と同じように様々 ...

続きを見る

抽出ではなく、検索だけでよければ検索用コンボボックスの作成や、検索と置換ダイアログボックスをボタンで起動で解説しています。

ウィザードを使って検索用コンボボックスを簡単作成

Accessのフォームで検索用コンボボックスを作成する方法です。コンボボックス作成ウィザードを使って簡単に作成することができます。 テーブル ...

続きを見る

検索と置換ダイアログボックスをボタンで起動

Accessでレコードの検索を行う時、[検索と置換」ダイアログボックスを使用することは多いと思います。検索ボタンはリボンの[ホーム]タブにあ ...

続きを見る

参考Officeのバージョンによって操作が異なる場合があります。以下の記事で、お使いのOfficeのバージョンを確認する方法を解説しています。

Office(Word、Excel、PowerPointなど)のバージョンを確認する方法

Microsoft Officeも時を得て、大きく様変わりしてきました。トラブルを解決しようとするとき、あるいは、何かの操作を探すときなど、 ...

続きを見る

Accessを学習するなら、一度は読んでおいたほうがよい本です。

おすすめ記事と広告

こんな記事もあります

体重推移表と体重推移グラフを作ろう(朝と夜計測して平均を求める)

ダイエットのためには、毎日体重計に乗ることが一番なのだそうです。健康のためにも自分の体重の推移は記録して意識しておいたほうがいいですね。 E ...

Word上でExcelのワークシートを操作する

Wordで文書を作成して、その中に表を作成したい時、Excelのワークシートを使って表を作成することができます。 Excelワークシートの挿 ...

複数の条件に合うものを抽出する方法

Excelのデータ抽出の方法はいろいろありますが、ここでは[データ]タブの[並べ替えとフィルター]グループにある[詳細設定]を使って、複数な ...

小数点の位置を揃えて表示するには(小数点揃えタブの使用)

Wordで小数点を含む数値を数行に渡って並べた時に、小数点の位置を綺麗に揃えて表示する方法です。小数点がない数値、整数が混在していても揃える ...

先頭の1文字が同じセルを集計するには

Excelで顧客番号や商品番号の先頭の1文字が同じセルの合計をしたいという場合の方法です。 下のような表があります。商品番号の先頭が1の売上 ...

-Windows10 & Office2016 Access2016

Copyright © 2001-2018 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2018 AllRights Reserved Powered by AFFINGER4.