Accsessのフォームでデータを抽出する

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

目次