フォームへのクエリプロンプトの追加

クエリプロンプトを使用すると、ユーザーは印刷時にデータベースレコードをフィルタ処理する条件を入力できます。[データベースの設定] ダイアログの [フィルタ] ビューでクエリプロンプトを定義した後、コントロールの [リンクされたデータソース] プロパティページを使用して、データ入力フォーム上のコントロールに接続できるデータソースとしてクエリプロンプトを使用できます。

クエリプロンプトをフォーム上のコントロールにリンクすると、ユーザーは、レコードをフィルタ処理するデータベースフィールドに存在する実際の値からフィルタ条件を選択できます。その結果、フィルタの精度が向上するので、正しいレコードが印刷されるだけでなく、フォームの機能を向上させることも可能です。

このセクションで示す例は、クエリプロンプトをデータ入力フォーム上で使用する基本的な手順を紹介することを目的としています。例を完了するには、最初にシンプルなデータベースに接続し、テンプレートで 3 つのテキストオブジェクトを作成した後、接続されたデータベースに対するクエリプロンプトを作成します。

Closed例で使用するドキュメントの設定

次の例では、複数の製品を含むテーブルのあるデータベースに接続する必要があります。このデータベースでは、各製品は、次に示すように 3 つの種類のいずれかに属しています。


ID0543166
17890
1203768
1029384
98563
467233

製品
Oranges
Flower Pot
Apples
Bananas
Glass Globe
Shovel

種類
Perishable
Breakable
Perishable
Perishable
Breakable
Tool

この例では、次の手順を実行する必要もあります。

Closedテンプレート上のオブジェクトをデータベースフィールドにリンクする

  1. テンプレートデザインビューの [作成] メニューの [テキスト] をクリックし、[通常] をクリックします。または、オブジェクトツールバー アイコンをクリックし、[通常] をクリックします。

  2. テンプレート上でオブジェクトを配置する場所をクリックします。

  3. ツールボックスの [データソース] ペインで、[データベースフィールド] ノードを展開します。

  4. [ID] フィールドをテキストオブジェクトにドラッグして、オブジェクトをデータソースにリンクします。

  5. 手順 1 ~ 2 を繰り返して新しいテキストオブジェクトを作成します。

  6. [データソース] ペインで展開した [データベースフィールド] から、[Product] フィールドを新しいテキストオブジェクトにドラッグして、オブジェクトをデータソースにリンクします。

  7. 手順 1 ~ 2 を繰り返して新しいテキストオブジェクトを作成します。

  8. [データソース] ペインで展開した [データベースフィールド] から、[Type] フィールドを新しいテキストオブジェクトにドラッグして、オブジェクトをデータソースにリンクします。

Closed[Type] フィールドに対してクエリプロンプトを作成する

  1. [ファイル] メニューの [データベース接続設定] をクリックして、[データベースの設定] ダイアログを開きます。または、メインツールバー アイコンをクリックします。(データベースに初めて接続する場合は、[データベース設定ウィザード] が起動します。ウィザードを完了すると、[データベースの設定] ダイアログが表示されます。)

  2. [データベースの設定] ダイアログのナビゲーションウィンドウで、[フィルタ] をクリックして [フィルタ] プロパティページを開きます。

  3. をクリックして、新しいフィルタ条件を作成します。

  4. [データソース] をクリックし、リストから [Type] データベースフィールドをクリックします。

  5. [演算子] をクリックし、[が次に等しい] をクリックします。

  6. [<値を入力>] をクリックし、リストから [クエリプロンプトの新規作成] をクリックして [クエリプロンプト] ダイアログを開きます。

  7. クエリプロンプトに "Type" という名前を付けます。クエリプロンプトをデータ入力コントロールに関連付ける場合を除き、追加のクエリプロンプトオプションを指定する必要はありません。クエリプロンプトをコントロールに関連付ける場合、コントロールのプロパティページを使用してオプションを設定します。

  8. [OK] をクリックして、[クエリプロンプト] ダイアログを閉じます。

  9. [フィルタの適用] をクリックしてフィルタを適用し、結果を確認します。クエリプロンプトによって入力が要求されます。

  10. [OK] をクリックして、[データベースの設定] ダイアログを閉じます。

ここで手順を終了すると、印刷ジョブの開始時に印刷するレコードをフィルタ (クエリ) 処理することを求めるダイアログが BarTender に表示されます。"Breakable" などの種類を入力すると、BarTender では、一致するレコード (製品 "Flower Pot" と "Glass Globe") だけが印刷されます。

次の例は、クエリプロンプトをフォーム上のデータ入力コントロールに統合する方法を示します。コントロールをクエリプロンプトに接続すると、入力を求めるプロンプトは独立したダイアログではなく、フォームに表示されます。

Closed例1:ラジオボタンリストコントロールへのクエリプロンプトの接続

  1. クエリプロンプトを配置するフォームを開きます。

  2. [作成] メニューの [データ入力コントロール] をクリックし、[ラジオボタンリスト] をクリックします。または、オブジェクトツールバー アイコンをクリックし、[ラジオボタンリスト] をクリックします。

  3. フォーム上でコントロールを配置する場所をクリックします。

  4. コントロールをダブルクリックして、[ラジオボタンリストのプロパティ] ダイアログを開きます。または、コントロールのコンテキストメニューの [プロパティ] をクリックします。

  5. ナビゲーションウィンドウで、[リンクされたデータソース] をクリックして、[リンクされたデータソース] プロパティページを開きます。

  6. データソースのリストで [クエリプロンプト] ノードを展開し、[Type] クエリプロンプトを選択します。

  7. ナビゲーションウィンドウで、[アイテムの表示] をクリックして、[アイテムの表示] プロパティページを開きます。

  8. [ソース] リストで [クエリプロンプト値] をクリックします (選択されていない場合)。[テキスト表示] および [項目値] プロパティに表示される値には、データベースの [Type] フィールドの値が反映されます。

  9. その他のプロパティページを使用して、コントロールのその他のプロパティを設定します。

  10. [閉じる] をクリックして、[ラジオボタンリストのプロパティ] ダイアログを閉じます。ラジオボタンリストに [Type] データベースフィールドの各値のボタンが表示されます。

  11. メインツールバー をクリックして、データ入力フォームをプレビューします。

フォーム上のさまざまなレコードの表示方法は、表示テキストを変更することによって変更できます。この操作を行っても、項目に実際に印刷されるものには影響しません。

BarTender でフォームのラジオボタンをクリックすると、選択内容に一致する種類のレコードだけが印刷されます。

Closed例 2: チェックボックスコントロールへのクエリプロンプトの接続

チェックボックスコントロールの場合、データベーステーブルの [Type] フィールドには 2 つの固有の値だけが含まれているのが理想的です。この例では、"Perishable" と "Tool" という 2 つの値だけが含まれているとします。チェックボックスを選択すると、"Perishable" レコードが印刷されます。チェックボックスが選択されていない場合、"Tool" レコードが印刷されます。

  1. クエリプロンプトを配置するフォームを開きます。

  2. [作成] メニューの [データ入力コントロール] をクリックし、[チェックボックス] をクリックします。または、オブジェクトツールバー アイコンをクリックし、[チェックボックス] をクリックします。

  3. フォーム上でコントロールを配置する場所をクリックします。

  4. コントロールをダブルクリックして、[チェックボックスのプロパティ] ダイアログを開きます。または、コントロールのコンテキストメニューの [プロパティ] をクリックします。

  5. ナビゲーションウィンドウで、[リンクされたデータソース] をクリックして、[リンクされたデータソース] プロパティページを開きます。

  6. データソースのリストで [クエリプロンプト] ノードを展開し、[Type] クエリプロンプトを選択します。

  7. ナビゲーションウィンドウで、[チェックボックス] をクリックして、[チェックボックス] プロパティページを開きます。

  8. [表示テキスト] フィールドに Perishable と入力します、

  9. [チェック済みの値に表示テキストを使用する] オプションが選択されていることを確認します。

  10. [未チェックの値] フィールドに Tool と入力します、

  11. [閉じる] をクリックして、[チェックボックスのプロパティ] ダイアログを閉じます。

  12. メインツールバー をクリックして、データ入力フォームをプレビューします。

Closed例 3:テキスト入力ボックスコントロールへのクエリプロンプトの接続

  1. クエリプロンプトを配置するフォームを開きます。

  2. [作成] メニューの [データ入力コントロール] をクリックして、[テキスト入力ボックス] をクリックします。または、オブジェクトツールバー アイコンをクリックし、[テキスト入力ボックス] をクリックします。

  3. フォーム上でコントロールを配置する場所をクリックします。

  4. コントロールをダブルクリックして、[テキスト入力ボックスのプロパティ] ダイアログを開きます。または、コントロールのコンテキストメニューの [プロパティ] をクリックします。

  5. ナビゲーションウィンドウで、[リンクされたデータソース] をクリックして、[リンクされたデータソース] プロパティページを開きます。

  6. データソースのリストで [クエリプロンプト] ノードを展開し、[Type] クエリプロンプトを選択します。

  7. ナビゲーションウィンドウで、[オートコンプリート] をクリックして、[オートコンプリート] プロパティページを開きます。

  8. [オートコンプリートの有効化] チェックボックスをクリックして選択します。

  9. [ソース] リストで [クエリプロンプト値] をクリックします (選択されていない場合)。[オートコンプリート候補] に表示される値には、[Type] データベースフィールドの値が反映されます。

  10. [閉じる] をクリックして、コントロールのプロパティダイアログを閉じます。

  11. メインツールバー をクリックして、データ入力フォームをプレビューします。

関連トピック