マスタ検索サブフォームの表示内容を絞り込む

✔ 概要

2つのマスタ検索サブフォームを利用し、1つ目のマスタ検索サブフォームで選択した値を条件に、2つ目のマスタ検索サブフォームに表示する項目を動的に変更する方法を説明します。

注意

本設定は、フォームおよび旧バージョン形式のフォーム(JSP)で利用できます。
旧バージョン形式のフォーム(PDF)では利用できません。

注釈

本項では、サンプルとなるフォーム、マスタ検索サブフォームおよびカスタムデータベースをご用意しております。 サンプルをダウンロードし、ワークフローシステムにインポートすることで動作確認が可能です。
また、本項で説明するフォームの動作確認にはサンプルにあるカスタムデータベースのインポートが必要となります。 必要に応じて弊社サポートサイトより サンプル をダウンロードください。

設定方法

2つのマスタ検索サブフォームを用意し、入力フォーム上から呼び出します。
ここでは例として、大項目のマスタ検索サブフォームで取得した都道府県情報を元に小項目のマスタ検索サブフォームに表示する地名を動的に変更します。

大項目のマスタ検索サブフォーム設定

都道府県名情報を表示するマスタ検索サブフォームを設定します。
こちらでは[都道府県名]と[都道府県番号]を取得し、フォーム上に表示します。

大項目のマスタ検索サブフォーム設定で使用するカスタムデータベースのテーブル構造は以下の通りです。

  • テーブル名: t_prefecture_tbl
カラム名 論理名
t_prefecture_no 都道府県番号
t_prefecture_name 都道府県名
  • t_prefecture_tblテーブル サンプルデータ
t_prefecture_no t_prefecture_name
1 北海道
2 青森県
3 秋田県

ヒント

大項目のマスタ検索サブフォームの設定は、「 データベースから取得した値を利用する(マスタ検索サブフォーム)- 検索項目なし、単一データの反映 」を参照ください。 なお、大項目のマスタ検索サブフォームで選択した都道府県情報はフォーム上の入力テキストに反映するため、[クエリの設定]-[データ取得設定]では以下のような設定が必要となります。

項目 列名 一覧表示 入力フォームへのデータ反映
都道府県番号 t_prefecture_tbl.t_prefecture_no チェックあり
ラベル:都道府県番号
チェックあり
オブジェクト名:PREFECTURE_NO
都道府県名 t_prefecture_tbl.t_prefecture_name チェックあり
ラベル:都道府県名
チェックあり
オブジェクト名:PREFECTURE_NAME

小項目のマスタ検索サブフォーム設定

大項目のマスタ検索サブフォームで取得した [都道府県] 情報を条件に、小項目のマスタ検索サブフォームに表示する地名情報を動的に変更する設定を行います。

小項目のマスタ検索サブフォームで使用するカスタムデータベースのテーブル構造は以下の通りです。

  • テーブル名:t_place_tbl
カラム名 論理名
t_place_no 地名番号
t_prefecture_no 都道府県番号
t_place_name 地名
  • t_place_tblテーブル サンプルデータ
t_place_no t_prefecture_no t_place_name
10 1 札幌市
20 1 函館市
30 2 青森市
40 2 弘前市
50 3 秋田市
60 3 能代市

フォーム設定

  • フォームマネージャーを起動します。
  • ツールバーの iconmst (マスタ検索サブフォーム)ボタンをクリックし、[マスタ検索サブフォーム設定] ダイアログを表示します。

フォーム設定の登録

  • [新規作成] ボタンをクリックし、[フォーム設定] ダイアログを表示します。

  • [フォーム設定] ダイアログで以下の設定を行います。

    項目 設定値
    フォーム名 地名選択
    表示名 地名
    ウィンドウ - 位置 トップ 50
    ウィンドウ - サイズ 300
    高さ 600
    検索結果 初期表示 チェックあり
    選択方式 単一

検索対象データベースの選択

検索結果一覧に表示するデータの検索対象のデータベースを選択します。

  • [クエリ設定] 欄の「一覧表示用」をダブルクリックします。

  • [クエリ設定] ダイアログ - [利用するデータベース] コンボボックスでサンプルデータが登録されているデータベース設定「カスタムデータベース」を選択し、[選択] ボタンをクリックします。

テーブル設定の登録

SQL文の「FROM」句に該当する設定を行います。
検索結果一覧に表示するデータの検索対象のテーブルを選択します。
また、検索結果一覧への表示や検索項目の条件として使用したい列を選択します。

  • [クエリ設定] ダイアログ - [テーブル設定] 欄の [追加] ボタンをクリックします。

  • [テーブル設定] ダイアログで以下の設定を行います。

    項目 設定値
    テーブル名 t_place_tbl
    [列]タブ
    使用する列の選択
    t_place_no [使用]:チェックあり [型]:数値
    t_prefecture_no [使用]:チェックあり [型]:数値
    t_place_name [使用]:チェックあり [型]:文字列
  • [OK] ボタンクリックし、[テーブル設定] ダイアログを閉じます。
    [テーブル設定] 欄に追加したテーブル設定が表示されます。

データ取得設定の登録

SQL文の「SELECT」句に該当する設定を行います。
マスタ検索サブフォーム上の検索結果一覧に表示する列や、一覧から選択したデータを反映する入力フォームのオブジェクト名を設定します。

  • [クエリ設定] ダイアログの [データの取得] タブを選択し、[追加] ボタンをクリックします。

  • [データ取得設定] ダイアログで以下2つのデータ取得設定を登録します。
    登録することで、地名番号・地名名を検索結果一覧に表示、入力フォーム上に反映することができます。

    項目 列名 一覧表示 入力フォームへのデータ反映
    地名番号 t_place_tbl.t_place_no チェックあり
    ラベル:地名番号
    チェックなし
    地名 t_place_tbl.t_place_name チェックあり
    ラベル:地名
    チェックあり
    オブジェクト名:PLACE_NAME
  • それぞれのデータ取得設定の登録後、[OK] ボタンをクリックし、[データ取得設定] ダイアログを閉じます。

検索条件の設定

SQL文の「WHERE」句に該当する設定を行います。
大項目のマスタ検索サブフォームでユーザーが選択した値を元にデータの絞り込みが行えるように設定します。

  • 列の選択
    検索条件を設定する列を選択します。
  • [クエリ設定]ダイアログの[検索条件]タブを選択し、[列の選択] ボタンをクリックします。

  • [都道府県番号] を検索項目とするため、[t_place_tbl.t_prefecture_no] のチェックボックスにチェックを入れ、[OK] ボタンをクリックします。

  • [検索条件一覧] に選択した列が表示され、[都道府県番号] を検索条件として設定できるようになります。

  • 任意検索条件の設定
    大項目のマスタ検索サブフォームで取得した [都道府県番号] を元にデータを絞り込む際の条件を設定します。

    1.[任意検索条件] 行の「(未設定)」をダブルクリックします。
    2.表示される [任意検索条件設定] ダイアログで、列に対して以下の設定を行います。

    列名 条件
    t_place_tbl.t_prefecture_no 等しい

検索項目入力設定の登録

検索条件で任意検索条件を設定した列(t_place_tbl.t_prefecture_no)に対して、入力形式を設定します。
[PREFECTURE_NO]オブジェクトを検索条件のオブジェクトに設定します。

  • [フォーム設定] ダイアログ - [検索項目入力設定] 欄の [追加] ボタンをクリックします。

  • [検索項目入力設定] ダイアログで、ジャンル番号の検索項目に対して、以下の入力設定を登録します。

    項目 列名 ラベル 種別 表示 初期値
    ジャンル番号 t_place_tbl.t_prefecture_no 都道府県番号 入力テキスト 非表示 入力フォームから取得
    オブジェクト名:PREFECTURE_NO

    ヒント

    [PREFECTURE_NO]オブジェクトには大項目のマスタ検索サブフォームで選択した[都道府県番号]の値が格納されます。

入力フォーム設定情報表示の確認

入力フォームからマスタ検索サブフォームを呼び出すために必要な情報(JavaScript)を確認します。
確認したJavaScriptは後述の「3.フォームの作成」で使用します。

  • [フォーム設定]ダイアログの[入力フォーム設定情報表示]ボタンをクリックします。
  • [入力フォーム設定情報表示]ダイアログに表示されたJavaScriptをコピーし、任意のテキストエディタ(Windows のメモ帳など)に貼り付けます。
  • [閉じる]ボタンをクリックし、[入力フォーム設定情報表示]ダイアログを閉じます。

フォーム設定の保存

  • [フォーム設定]ダイアログの[OK]ボタンをクリックし、フォーム設定を保存します。
    [マスタ検索サブフォーム設定]ダイアログに設定したフォーム設定が表示されます。
  • [閉じる]ボタンをクリックし、[マスタ検索サブフォーム設定]ダイアログを閉じます。

フォームの作成

マスタ検索サブフォームを利用するフォームを作成します。ここでは、フォームを新規で作成します。

ヒント

フォームの作成方法は、ワークフローシステム ヘルプのリファレンスマニュアル(フォームマネージャー リファレンス - フォーム管理)を参照ください。

検索結果一覧上で選択したデータを表示するための入力テキストを配置します。
入力フォームに入力テキストを3つ配置し、それぞれのオブジェクト名を以下のように設定します。

項目 オブジェクト名
都道府県名 PREFECTURE_NAME
地名 PLACE_NAME
都道府県番号 PREFECTURE_NO
大項目のマスタ検索サブフォーム画面表示用オブジェクト PREFECTURE_SEARCH
小項目のマスタ検索サブフォーム画面表示用オブジェクト PLACE_SEARCH

ヒント

「PREFECTURE_SEARCH」「PLACE_SEARCH」は「 2-8.入力フォーム設定情報表示の確認」で確認したJavaScript設定し、マスタ検索サブフォームを表示するためのオブジェクトです。
確認したJavaScriptの設定方法などにつきましては、 「データベースから取得した値を利用する(マスタ検索サブフォーム)- 2-2.データ反映用の入力テキストの配置」をご参照ください。

動作確認

ワークフローシステムで以下の動作を確認します。

  • 設定したマスタ検索サブフォームが入力フォーム上で表示されること
  • 大項目のマスタ検索サブフォームで選択した内容で小項目のマスタ検索サブフォームの内容が絞り込まれること
  • 選択したデータが入力フォームに反映されること
  • ワークフローシステムにログインし、申請フォームを表示します。

  • 大項目のマスタ検索サブフォームを表示します。
    カスタムデータベースより取得した都道府県情報が一覧表示されていることを確認します。

  • 一覧より任意のデータを選択します。 選択した都道府県名が、入力フォーム上の入力テキストに反映されることを確認します。

  • 小項目のマスタ検索サブフォームを表示します。
    大項目のマスタ検索サブフォームで選択した内容に絞り込まれた地名情報が一覧表示されていることを確認します。

ヒント

[都道府県検索]で[北海道]を選択した場合、[地名検索]のマスタ検索サブフォームでは[札幌市、函館市]が一覧表示されます。