コンボボックスの項目をデータベースから取得する

✔ 概要

コンボボックスの選択項目をデータベースから取得する方法を説明します。
他システムなどで利用しているデータベースのデータを選択項目として表示したい場合に利用できます。

注意

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

ここでは例として、サンプルデータ用テーブルから製品名を取得してコンボボックスの選択項目とする設定を行います。

使用するテーブルの構造は以下の通りです。

テーブル名:xinfo2.a_price_list_tbl
カラム名 論理名
a_kataban_name 製品名

設定方法

フォームの作成

ここでは、フォームを新規で作成します。

ヒント

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

コンボボックスの配置

申請フォームにコンボボックスを1つ配置します。

[設定]ダイアログの表示

コンボボックスの[オプション]タブで[データベースから取得]を選択し、[設定]ボタンをクリックします。
[設定]ダイアログが表示されます。

ヒント

各設定の詳細は、Formエディターリファレンス(第2章機能説明 - 2-2.フォームオブジェクトの作成 - コンボボックス - データベースから項目を取得する)を参照ください。

データ取得の設定

[設定]ダイアログで以下の設定を行います。

  • 利用するデータベース
    データの取得に利用するデータベース設定を選択します。
    ここでは、サンプルデータとしてあらかじめ登録されているデータベース設定「見積書用」を選択し、[選択]ボタンをクリックします。

    ヒント

    カスタムデータベース以外のデータベースを利用する場合、データベースにJDBC経由で接続しデータを取得します。そのため、接続に必要な設定(ドライバ名、URL、ログインID、パスワード)をあらかじめデータベース設定として登録しておく必要があります。
    データベース設定の詳細は、ワークフローシステム ヘルプのリファレンスマニュアル(フォームマネージャー リファレンス - データベース設定)を参照ください。

  • データの取得方法
    データの取得方法を設定します。
    接続したデータベースから選択項目として表示するデータを取得するための設定を行います。
    ここでは、[標準設定]を利用して設定を行います。

    ヒント

    [カスタム設定]を使用すると、FROM句やWHERE句を任意の内容で記述することができ、テーブルの結合などより詳細なクエリを設定できます。

    注意

    利用するデータベース がPostgreSQLの場合で大文字のテーブル名やカラム名を参照する際は PostgreSQL利用時の注意点 を参照ください。

    ◇テーブルの選択

    データを取得するテーブルを選択し、[選択]ボタンをクリックします。

    項目 設定値
    テーブルの選択 xinfo2.a_price_list_tbl

    ◇取得するデータ列名の選択

    選択項目として表示するデータ列名([項目名]/[書き出し値])を選択します。
    ここで選択したデータ列名の値がコンボボックスの選択項目として表示されます。

    項目 設定値
    項目名 a_kataban_name
    書き出し値 a_kataban_name

    ヒント

    [項目名]と[書き出し値]で異なるデータ列名を選択すると、[出力時(PDF)設定]が設定可能になります。
    出力時(PDF)設定では、PDF出力時に表示する内容を[項目名]/[書き出し値]のどちらにするか選択することができます。
    ※[項目名]と[書き出し値]で同じデータ列名を選択した場合は、[出力時(PDF)設定]の設定は不要です。

    ◇抽出条件

    選択項目に表示するデータを任意の条件で絞り込みたい場合に設定します。
    ここでは、取得した全てのデータを選択項目に表示するため抽出条件は設定しません。

    ヒント

    [抽出条件]の値には以下の予約語を利用することができます。

    $auth_code ログインユーザーの役職コード
    $auth_name ログインユーザーの役職名
    $group_code ログインユーザーのグループコード
    $group_name ログインユーザーのグループ名
    $emp_id ログインユーザーのID

    ◇並び替えの設定

    選択項目に表示するデータを任意の順序に並び替えたい場合に設定します。
    [追加]ボタンをクリックして表示される、[並び替え条件の設定]ダイアログで以下の設定を行います。

    項目 設定値
    列名 a_price_list_seq
    条件 昇順で並び替え
  • 初期値を設定する
    初期選択項目として任意の初期値を表示したい場合に設定します。
    ここでは、空欄項目を初期選択とします。

    項目 設定値
    初期値を設定する チェックあり
    初期値 (空欄)

    ヒント

    初期値を設定しない場合、選択項目の最上位項目が初期選択として表示されます。

各項目設定後に[データのプレビュー]ボタンをクリックすると、設定した内容で取得されるデータを確認できます。

フォームの保存、アップロード

Formエディターでフォームを保存し、フォームをサーバーにアップロードします。

動作確認

ワークフローシステムにログインし、作成したフォームの申請フォームを表示します。
コンボボックスにデータベースから取得した値が表示されることを確認します。

PostgreSQL利用時の注意点

利用するデータベース がPostgreSQLの場合に大文字のテーブル名やカラム名を参照する際の注意点を説明します。

◇大文字のテーブル名を参照する

標準設定 標準設定では、大文字のテーブル名を参照できません。
参照する際は、「カスタム設定」をご利用ください。
カスタム設定 大文字のテーブル名は、ダブルクォート(")で囲んで指定します。
例)"LARGE_CHAR_TBL"

◇大文字のカラム名を参照する

標準設定 大文字のカラム名を参照する際に、特別な設定は必要ありません。
コンボボックスから指定することで参照できます。
カスタム設定 [データ列名の選択]はそのまま指定します。
[抽出条件]へ大文字のカラム名を指定する際は、ダブルクォート(")で囲んで指定します。
例)WHERE "LARGE_COLUMN" < 1000