帳票ツールFineReport:動的条件による帳票データの検索
最終更新日:2020-2-24
帳票のデータを検索する場合、条件は一つに限られません。FineReportで作成した帳票において、AフィールドまたBフィールドによってデータを検索することは動的条件検索と言います。
1.実現のアイデア
データセットを定義するときは、条件をデータ表のフィールド名とフィールド値の2つのパラメータとして定義します。
SQL文は次のように定義されています。
SELECT * FROM 販売量 where 1=1 ${if(len(name)==0||len(value)==0,””,”and “+name+”='”+value+”‘”)}
2. 実例
(1)テンプレート設計
データセットds1をSELECT * FROM 販売量と定義します。
それから、下図のように帳票を設計します。
(2)データセット変更
データセットds1を変更します。
SELECT * FROM 販売量 where 1=1 ${if(len(name)==0||len(value)==0,””,”and “+name+”='”+value+”‘”)}
1=1は、すべての情報を既定で検索することを意味します。
${if(len(name)==0||len(value)==0,””,”and “+name+”='”+value+”‘”)} はnameとvalueの2つのパラメータを定義し、フィールド名とフィールド値を指します。
二つのパラメータに値がある場合、結果はand name=’value’になります。パラメータに値がない場合、結果が空白になります。
(3)パラメータパネル設定
右側の「すべて追加」をクリックして、「value」と「name」の二つのパラメータを追加します。
パラメータの位置を調整します。
パラメータパネルのラベルウィジェット「Labelname」のウィジェット値を「フィールド名:」に変更し、「Labelvalue」のウィジェット値を「値:」に変更します。
(4)条件属性追加
A1セルを右クリックし、「条件属性」を選択し、条件属性を追加します。行の高さを0、タイプを数式と設定し、数式LEN(A3)=0を入力し、「追加」をクリックします。
A2、A3セルも上記のように設定します。
3.効果プレビュー
テンプレートを保存し、改ページプレビューして検索条件を入力します。
注:フィールド名ボックスにデータ表のフィールド名を入力しなければなりません。そうでない場合、エラーが表示されます。 そして、条件検索は、両方のボックスに内容を入力した場合にのみ実行できます。それ以外の場合は、すべてのデータが検索されます。