HOME > 即効テクニック > Access一般機能 > クエリ・SQL > フォームのテキストボックスに入力された値をクエリの抽出条件に設定する

即効テクニック

クエリ・SQL

フォームのテキストボックスに入力された値をクエリの抽出条件に設定する

(Access 97)
選択クエリの抽出条件は、固定の値だけではなくフォームのコントロールを参照して該当データを抽出することができます。
テキストボックスの値を抽出条件に設定する方法を紹介します。

●準備手順●
(1)クエリの元となるテーブル「商品管理」を用意します。
 フィールドは次のとおりです。
  商品番号
  商品名
  単価

(2)条件を指定するフォーム「フォーム1」を用意します。
[新規作成]ボタンをクリックして、[基になるテーブル/クエリーの選択]には何も指定せずに、[OK]ボタンをクリックします。
非連結のテキストボックスを1つ配置し、テキストボックスの[名前]プロパティを「抽出商品番号」とします。

新規フォームを作成

テキストボックスの名前プロパティを設定

(3)商品管理テーブルを元にして、クエリ「クエリ1」を作成します。
クエリのデザインビューで、デザイングリッドに必要なフィールドを設定します。
ここでは、[商品番号]、[商品名]、[単価]フィールドをデザイングリッドに設定します。

クエリのデザイングリッドにフィールドを設定

デザイングリッドに設定した[商品番号]のフィールドで右クリックすると表示される[フィールドプロパティ]の[ルックアップ]タブをクリックし、[表示コントロール]プロパティに「テキストボックス」を指定します。

フィールドを右クリック

フィールドプロパティを設定

クエリのデザインビューでデザイングリッドの空いている列に、フォームのテキストボックスを参照して、IIf関数でテキストボックスに入力されたかどうか(IsNull関数)を判断し、入力がない場合は全件抽出とする式を設定します。

デザイングリッドのフィールドを設定

<フィールド>
IIf(IsNull([Forms]![フォーム1]![抽出商品番号]),True,
[商品番号]=[Forms]![フォーム1]![抽出商品番号])

*注*「〜True,」の後に続けて「[商品番号]=〜」を記述してください。

<表示>
チェックボックスのチェックを外す

<抽出条件>
True                                                       

●実行手順●
「フォーム1」をフォームビューで開きます。
テキストボックスに抽出条件を入力し、「クエリー1」を開くと、該当データがデータシートビューに表示されます。