Accsessのフォームに配置した「テキストボックス」に入力した文字でデータ抽出する方法です。
Accessのバージョン:Microsoft 365 Apps for business
やりたいこと
フォームヘッダーに配置したテキストボックスに抽出したいデータの文字を入力し、「抽出」ボタンをクリックするとデータが抽出される。
- 抽出する対象は、オプションボタンで選択可能
- 抽出ワードは部分一致

抽出ボックスを設置し曖昧ワードで抽出する
フィールド「名前」で抽出する設定方法です。
(1)フォームをデザインビューで開きます。

(2)フォームヘッダーにテキストボックスとコマンドボタン2つ設置します。

名前は以下のようにつけました。
- テキストボックス:FilWD
- コマンドボタン・抽出:FilButton
- コマンドボタン・全データ:AllButton
- ラベル:FilWD_ラベル
テキストボックス

コマンドボタン

コマンドボタン

ラベル

(3)抽出ボタンを選択し、プロパティシートよりイベントの「クリック時」右側の「・・・」をクリックします。

(4)コードビルダーを選択し、「OK」をクリックします。

(5)コードを入力します。

(6)コマンドボタン「全データ」も「抽出」と同じ要領で入力します。
入力は「Me.FilterOn = False」のみです。


設定は以上で終わりです。動作確認をします。テキストボックスに抽出したいデータの一部の文字を入力します。

「抽出」ボタンをクリックします。

オプションボタンで抽出するフィールドを切り替える
(1)フォームをデザインビューで開きます。
次は、フォームヘッダーにオプションボタングループを設置します。
(2)オプショングループを選択し、フォームヘッダーの設置する場所をクリックします。


(3)ラベル名を入力し、「次へ」をクリックします。ここでは、「種類」と「名前」にしました。

(4)既定値を選択し、「次へ」をクリックします。ここでは「名前」にしました。

(5)値を設定し、「次へ」をクリックします。

(6)「次へ」をクリックします。

(7)「次へ」をクリックします。

(8)オプショングループの表題を入力し「完了」をクリックします。

設置後の画面

好みの位置に設置します。

(9)オプショングループの名前を変更します。ここでは、「OrderG」としました。
(10)「抽出」ボタンをクリックしたときのコードを変更します。

Dim FName As String
Select Case Me.OrderG.Value
Case 1
FName = “種類名 like ‘” & FilWD & “‘”
Case 2
FName = “名前 like ‘” & FilWD & “‘”
End Select
Me.Filter = FName
Me.FilterOn = True