Access:クエリの抽出条件を指定するフォームの作成|VBAで開く

抽出条件をフォームに入力しボタンのクリックで、抽出結果を表示するフォームを作成します。

BackHome Backクエリ

毎日の作業で抽出を行う場合、クエリのデザイン画面で入力するようなアプリはありません。

日常業務では掲載しているようなフォームを作成し、誰でも簡単に出来るようにします。

ここでは、フォームのテキストボックスに抽出条件を入力し、コマンドボタンをクリックすると抽出結果のクエリを表示するようにします。

VBAでクエリを開くには、「DoCmd.OpenQuery クエリ名 , 表示方法 , 入力モード」を使います。

次に作成したフォームに対応するパラメータクエリを作成します。

抽出条件のパラメータは、条件を入力するテキストボックスにします。

さらに複数条件が入力できるようにしたり、入力ミス防止のために文字数を限定するなどカスタマイズしてください。

クエリとフォームについては「Access:フォーム形式でパラメータクエリを使用するには」も掲載していますので参考にしてください。




クエリの抽出条件を指定するフォームの作成

■フォームデザインで作成

下のような、抽出条件を入力するテキストボックスと、パラメータクエリを開くコマンドボタンを挿入します。

抽出フォーム

コマンドボタンのクリックイベントに下記のVBAコードを入力します。

VBAの入力方法

  1. コマンドボタンを選択します。
  2. プロパティシートを開き、イベントタブを選択します。
  3. 「クリック時」に「イベント プロシージャー」を選択し、右端の[…]ボタンをクリックします。
  4. VBE(VBAの入力画面)が開くので、下のプログラムを入力します。
Option Compare Database

Private Sub コマンド3_Click()
    DoCmd.OpenQuery "Q_商品", acViewNormal, acReadOnly
End Sub

コマンドボタンのクリックイベントにVBAコードを入力する

■パラメータクエリの作成

リボンの[作成]~[クエリデザイン]で抽出先のテーブルを指定しパラメータクエリを作成します。

次に表示させたいフィールドを選択します。

ここでは「メーカー」の抽出条件に、フォームのテキストボックスを指定します。

[Forms]![F_抽出]![テキスト0]

クエリ名を上のコマンドボタンのクリックイベントで入力したVBAの名前で保存し、閉じてください。

「メーカー」の抽出条件に、フォームのテキストボックスを指定する

●フォームから抽出条件を設定したクエリを開く

抽出条件の「メーカー」を入力し、[抽出]ボタンをクリックします。

抽出条件の「メーカー」を入力し、[抽出]ボタンをクリックする

これで、抽出結果のクエリが開きます。

抽出結果のクエリが開く

BackHome Backクエリ

Copyright(C) FeedSoft