フォームへのクエリプロンプトの追加 |
クエリプロンプトを使用すると、ユーザーは印刷時にデータベースレコードをフィルタ処理する条件を入力できます。[データベースの設定] ダイアログの [フィルタ] ビューでクエリプロンプトを定義した後、コントロールの [リンクされたデータソース] プロパティページを使用して、データ入力フォーム上のコントロールに接続できるデータソースとしてクエリプロンプトを使用できます。
クエリプロンプトをフォーム上のコントロールにリンクすると、ユーザーは、レコードをフィルタ処理するデータベースフィールドに存在する実際の値からフィルタ条件を選択できます。その結果、フィルタの精度が向上するので、正しいレコードが印刷されるだけでなく、フォームの機能を向上させることも可能です。
このセクションで示す例は、クエリプロンプトをデータ入力フォーム上で使用する基本的な手順を紹介することを目的としています。例を完了するには、最初にシンプルなデータベースに接続し、テンプレートで 3 つのテキストオブジェクトを作成した後、接続されたデータベースに対するクエリプロンプトを作成します。
次の例では、複数の製品を含むテーブルのあるデータベースに接続する必要があります。このデータベースでは、各製品は、次に示すように 3 つの種類のいずれかに属しています。
|
製品 |
種類 |
この例では、次の手順を実行する必要もあります。
テンプレート上のオブジェクトをデータベースフィールドにリンクする
テンプレートデザインビューの [作成] メニューの [テキスト] をクリックし、[通常] をクリックします。または、オブジェクトツールバーの アイコンをクリックし、[通常] をクリックします。
テンプレート上でオブジェクトを配置する場所をクリックします。
[ID] フィールドをテキストオブジェクトにドラッグして、オブジェクトをデータソースにリンクします。
手順 1 ~ 2 を繰り返して新しいテキストオブジェクトを作成します。
[データソース] ペインで展開した [データベースフィールド] から、[Product] フィールドを新しいテキストオブジェクトにドラッグして、オブジェクトをデータソースにリンクします。
手順 1 ~ 2 を繰り返して新しいテキストオブジェクトを作成します。
[データソース] ペインで展開した [データベースフィールド] から、[Type] フィールドを新しいテキストオブジェクトにドラッグして、オブジェクトをデータソースにリンクします。
[ファイル] メニューの [データベース接続設定] をクリックして、[データベースの設定] ダイアログを開きます。または、メインツールバーの アイコンをクリックします。(データベースに初めて接続する場合は、[データベース設定ウィザード] が起動します。ウィザードを完了すると、[データベースの設定] ダイアログが表示されます。)
[データベースの設定] ダイアログのナビゲーションウィンドウで、[フィルタ] をクリックして [フィルタ] プロパティページを開きます。
をクリックして、新しいフィルタ条件を作成します。
[データソース] をクリックし、リストから [Type] データベースフィールドをクリックします。
[演算子] をクリックし、[が次に等しい] をクリックします。
[<値を入力>] をクリックし、リストから [クエリプロンプトの新規作成] をクリックして [クエリプロンプト] ダイアログを開きます。
クエリプロンプトに "Type" という名前を付けます。クエリプロンプトをデータ入力コントロールに関連付ける場合を除き、追加のクエリプロンプトオプションを指定する必要はありません。クエリプロンプトをコントロールに関連付ける場合、コントロールのプロパティページを使用してオプションを設定します。
[OK] をクリックして、[クエリプロンプト] ダイアログを閉じます。
[フィルタの適用] をクリックしてフィルタを適用し、結果を確認します。クエリプロンプトによって入力が要求されます。
[OK] をクリックして、[データベースの設定] ダイアログを閉じます。
次の例は、クエリプロンプトをフォーム上のデータ入力コントロールに統合する方法を示します。コントロールをクエリプロンプトに接続すると、入力を求めるプロンプトは独立したダイアログではなく、フォームに表示されます。
クエリプロンプトを配置するフォームを開きます。
[作成] メニューの [データ入力コントロール] をクリックし、[ラジオボタンリスト] をクリックします。または、オブジェクトツールバーの アイコンをクリックし、[ラジオボタンリスト] をクリックします。
フォーム上でコントロールを配置する場所をクリックします。
コントロールをダブルクリックして、[ラジオボタンリストのプロパティ] ダイアログを開きます。または、コントロールのコンテキストメニューの [プロパティ] をクリックします。
ナビゲーションウィンドウで、[リンクされたデータソース] をクリックして、[リンクされたデータソース] プロパティページを開きます。
データソースのリストで [クエリプロンプト] ノードを展開し、[Type] クエリプロンプトを選択します。
ナビゲーションウィンドウで、[アイテムの表示] をクリックして、[アイテムの表示] プロパティページを開きます。
[ソース] リストで [クエリプロンプト値] をクリックします (選択されていない場合)。[テキスト表示] および [項目値] プロパティに表示される値には、データベースの [Type] フィールドの値が反映されます。
その他のプロパティページを使用して、コントロールのその他のプロパティを設定します。
[閉じる] をクリックして、[ラジオボタンリストのプロパティ] ダイアログを閉じます。ラジオボタンリストに [Type] データベースフィールドの各値のボタンが表示されます。
メインツールバーの をクリックして、データ入力フォームをプレビューします。
|
フォーム上のさまざまなレコードの表示方法は、表示テキストを変更することによって変更できます。この操作を行っても、項目に実際に印刷されるものには影響しません。 |
|
チェックボックスコントロールの場合、データベーステーブルの [Type] フィールドには 2 つの固有の値だけが含まれているのが理想的です。この例では、"Perishable" と "Tool" という 2 つの値だけが含まれているとします。チェックボックスを選択すると、"Perishable" レコードが印刷されます。チェックボックスが選択されていない場合、"Tool" レコードが印刷されます。 |
クエリプロンプトを配置するフォームを開きます。
[作成] メニューの [データ入力コントロール] をクリックし、[チェックボックス] をクリックします。または、オブジェクトツールバーの アイコンをクリックし、[チェックボックス] をクリックします。
フォーム上でコントロールを配置する場所をクリックします。
コントロールをダブルクリックして、[チェックボックスのプロパティ] ダイアログを開きます。または、コントロールのコンテキストメニューの [プロパティ] をクリックします。
ナビゲーションウィンドウで、[リンクされたデータソース] をクリックして、[リンクされたデータソース] プロパティページを開きます。
データソースのリストで [クエリプロンプト] ノードを展開し、[Type] クエリプロンプトを選択します。
ナビゲーションウィンドウで、[チェックボックス] をクリックして、[チェックボックス] プロパティページを開きます。
[表示テキスト] フィールドに Perishable と入力します、
[チェック済みの値に表示テキストを使用する] オプションが選択されていることを確認します。
[未チェックの値] フィールドに Tool と入力します、
[閉じる] をクリックして、[チェックボックスのプロパティ] ダイアログを閉じます。
メインツールバーの をクリックして、データ入力フォームをプレビューします。
クエリプロンプトを配置するフォームを開きます。
[作成] メニューの [データ入力コントロール] をクリックして、[テキスト入力ボックス] をクリックします。または、オブジェクトツールバーの アイコンをクリックし、[テキスト入力ボックス] をクリックします。
フォーム上でコントロールを配置する場所をクリックします。
コントロールをダブルクリックして、[テキスト入力ボックスのプロパティ] ダイアログを開きます。または、コントロールのコンテキストメニューの [プロパティ] をクリックします。
ナビゲーションウィンドウで、[リンクされたデータソース] をクリックして、[リンクされたデータソース] プロパティページを開きます。
データソースのリストで [クエリプロンプト] ノードを展開し、[Type] クエリプロンプトを選択します。
ナビゲーションウィンドウで、[オートコンプリート] をクリックして、[オートコンプリート] プロパティページを開きます。
[オートコンプリートの有効化] チェックボックスをクリックして選択します。
[ソース] リストで [クエリプロンプト値] をクリックします (選択されていない場合)。[オートコンプリート候補] に表示される値には、[Type] データベースフィールドの値が反映されます。
[閉じる] をクリックして、コントロールのプロパティダイアログを閉じます。
メインツールバーの をクリックして、データ入力フォームをプレビューします。
関連トピック