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