「DB参照ボタン」のとき、以下の設定を行います。

  • DSN
    データベースを指定するための識別名(Data Source Name)を入力します。
    (参考)
    ■ Microsoft SQL Server 2014 ~ 2019
    Provider=sqloledb;Data Source=サーバー名;User Id=ユーザーID;Password=パスワード;Initial Catalog=データベース名
    ■ Access(*.accdb または *.mdb)
    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=パス\データベース名.accdb(または.mdb)
    * ODBCドライバーが Access 2010 のDSNです。
    ■ 外部のDSN定義参照
    DSNxxx または dsnxxx (xxxは任意の文字列)と入力します。DSNxxxの実際の内容はオプション環境ファイル(option.config)に定義します。(*1)
    詳しくは「環境ファイル・リファレンスガイド」の「オプション環境ファイル(option.config)」を参照してください。
    ■ SQL Server 以外へ接続する場合は、接続の容易性から SQL Server のリンクサーバーとシノニムの利用をおすすめします。
  • SQL文
    SQL文を入力します。
    (参考)
    データベース参照画面で検索条件を入力するにはパラメータ変数を使用します。
    パラメータ変数は10項目まで設定可能です。
    パラメータ変数は以下の通りです。
    #i-xxxx 数値型
    #c-xxxx 文字型(参照先テーブルのデータ型がUnicodeでないとき)
    N#c-xxxx 文字型(参照先テーブルのデータ型がUnicodeのとき)
    #d-xxxx 日付型
    (例) select * from 社員マスタ where 社員番号 between #i-開始番号 and #i-終了番号
    ■ デフォルト値設定
    パラメータ変数にデフォルト値を設定するにはパラメータ変数に =値 を付加します。
    (例) select * from 社員マスタ where 社員番号 between #i-開始番号=0 and #i-終了番号=999
    また、デフォルト値にフォームの項目の値を設定するにはパラメータ変数に =[項目名称] を付加します。
    (例) select * from 社員マスタ where 作成日付 >= #d-日付=[登録日]
    上記のデフォルト値をデータベース参照画面の検索条件で非表示にするにはパラメータ変数を ={項目名称} にします。(*2)
    (例) select * from 社員マスタ where 作成日付 >= #d-日付={登録日}
    ■ 曖昧検索
    パラメータ変数で文字列の曖昧検索を行うには以下のように like およびパラメータ変数の前後に % を付加します。
    (例) select * from 社員マスタ where 社員名称 like #c-%名称%
    ■ 即時検索
    SQL文にパラメータ変数が含まれている場合、データベース参照画面では[検索開始]をクリック/タップすることでデータベース参照を実行します。
    データベース参照画面で[検索開始]をクリック/タップすることなくデータベース参照を実行するには、SQL文の select を QK_select(または qk_select) へ置き換えます。(*3)

FormPat のフォームから入力されたデータを当機能で参照することも可能です。(*4)
以下が設定方法です。

  • DSN
    DSN または dsn と入力します。(*1)
  • SQL文
    SQL文は select を FP_select へ置き換えます。
    テーブル名をFormPatの「フォーム設定」画面の「フォームID」に置き換えます。
    where句の複数条件の組み合わせは and演算子 のみ使用できます。また、( )は使用できません。
    その他は通常のSQL文で記述できます。
    (例) FP_select 社員コード,社員名 from form-16 where 社員コード >= #i-開始社員コード=0 and 社員コード <= #i-終了社員コード=99999999
    (注意点)
    FormPat v8.4.x 以前では、FP_select ではwhere句の記述は必須です。
    where句で条件として指定した項目は、FP_select句の項目に必ず定義してください。
    定義されない場合、実行時に「データベースを検索できません。SQL文を確認してください。」のメッセージが表示されます。
    where句で記述するカラム名の前後には半角空白が必要です。
    (留意点)
    FormPatのデータベース参照の検索結果の表示項目は、FP_select句の項目ではなくFormPatの「フォーム設定」画面の「表題要素」になります。
    パラメータ変数の文字型は N#c-xxxx を使用します。
    また、検索対象データの更新日を範囲指定することでレスポンス向上を見込めます。(*5)
    where句に #update_range=1y (直近2年は2y, 2月は2m, 2日は2d)等を指定します。

*1 FormPat v5.0.2.0 以降の機能です。
*2 FormPat v8.0.0 以降の機能です。
*3 FormPat v8.1.0 以降の機能です。
*4 データ件数が500件程度までのフォームで使用してください。
*5 FormPat v9.0.0 以降の機能です。