おすすめ記事

同じカテゴリー

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



Accessでレコードの検索を行う時、[検索と置換」ダイアログボックスを使用することは多いと思います。検索ボタンはリボンの[ホーム]タブにあります。Access2016では、これまでの双眼鏡アイコンから虫眼鏡に変わりました。ショートカットキーは、[Ctrl]+[F]で同じです。
●Access2013
Access2013の検索
●Access2016
Accessの検索

スポンサーリンク

この検索ボタンを押した時に表示される[検索と置換]ダイアログボックスをフォームのボタンクリックで表示させる方法です。リボンは各自で非表示にしたり、あるいはフォームによって非表示にすることができますからね。
フォームでリボンを非表示にするには、開く時イベントか読み込み時イベントに以下のように書くとリボンは非表示になります。
DoCmd.ShowToolbar "Ribbon", acToolbarNo

ここでは、Access2016の分割フォームで解説します。
コントロールウィザードを使用して作成しますので、フォームをデザインビューで開いて、[デザイン]タブをクリックします。まず、その他ボタンをクリックしてます。デザインタブ
そして、[コントロールウィザードの使用]がオンになっているか確認します。オフになっていれば、クリックしてオンにします。既定ではオンになっていると思いますが念のため確認します。そして、[ボタン]をクリックします。
コントロールウィザードの使用
フォームヘッダーなどへドラッグしてボタンの位置を決定します。[コマンドボタンウィザード]が表示されるので、[レコードの移動]-[レコードの検索]を選択して(既定のまま)、[次へ]ボタンをクリックします。
コマンドウィザード
次のウィザードで[文字列]を選択します。既定ではピクチャになっています。ピクチャのままでもOKです。ボタンに表示する文字(レコードの検索)を変更したい場合は、ここで編集します。[次へ]ボタンをクリックします。
文字列の選択
ボタン名を入力して[完了]ボタンをクリックします。
ボタン名
デザインビューをフォームビューに切り替えると、下のようにボタンが設置されています。クリックすると、[検索と置換]ダイアログボックスが表示されます。
ボタンの実行
この[検索と置換]ダイアログボックスは、慣れている方には問題ないのですが、慣れていない方にとっては使いづらいようです。検索するフィールドを選択したり、検索条件を[フィールドの一部分]に変更して部分検索に行う操作が面倒という方も多いです。
検索と置換ダイアログボックスを起動したときに既定で[フィールドの一部分]にする方法は、オプションのクライアントの設定から変更することができます。以下のページを参照されてください。Access2013で解説していますが、Access2016も同様の設定ができます。
検索と置換の検索条件のカスタマイズ
検索条件の変更
ですが、上記のクライアントの設定は各自のパソコンで設定してもらう必要があります。
そこで、検索するフィールドが決まっていて、検索条件は[フィールドの一部分]にして検索ダイアログボックスを表示する方法を紹介します。
検索ボタンのプロパティを表示します。クリック時イベントの[埋め込みマクロ]を削除([埋め込みマクロ]の文字を削除するだけでOKです。)して、[ビルダーの選択]ボタン[...]をクリックします。
ビルダーの選択ボタン
[ビルダーの選択]ダイアログボックスの中から[コードビルダー]を選択して、[OK]ボタンをクリックします。
ビルダーの選択ダイアログボックス
下のように入力します。
Me!商品名.SetFocus
SendKeys String:="%H{HOME}%N"
DoCmd.RunCommand acCmdFind

イベントプロシージャは下のようになります。
クリック時イベント
これで、どこのフィールドを選択していても商品名フィールドで検索し、検索条件は[フィールドの一部分]になります。コントロールウィザードを使用せずに直接ボタンを設置してクリック時イベントに書き込んでも同じです。
分割フォームで検索
以下のページも参考になると思います。
コンボボックスでレコードの抽出
テキストボックスでレコード抽出
検索用コンボボックスの作成

トラブルをすぐに解決したいならteratail

おすすめ記事

シェアする