ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
QR REPORT
|
QR REPORT ( {aTable ;} document {; methodName}{; *} ) | ||||||||
引数 | 型 | 説明 | ||||||
aTable | テーブル |
![]() |
レポートを作成するテーブル、省略時はデフォルトテーブル | |||||
document | 文字 |
![]() |
ロードするクイックレポートドキュメント | |||||
methodName | 文字 |
![]() |
呼び出すメソッドの名前 | |||||
* | 演算子 |
![]() |
プリントダイアログボックスを表示しない | |||||
QR REPORTはクイックレポートエディターを用いて作成された、aTableのレポートを印刷します。このエディターを使用するとユーザーは独自のレポートを作成できるようになります。クイックレポートエディターを使用してレポートを作成する事については、4Dデザインリファレンスマニュアルのクイックレポート の章を参照して下さい。
注:
document引数には、クイックレポートエディターを用いて作成され、ディスク上に保存されたレポートドキュメントを渡します。このドキュメントにはレポートに関する仕様が納められ、印刷されるレコードは含みません。
documentに空の文字列 ("") が指定されると、QR REPORTはファイルを開くダイアログボックスを表示し、ユーザは印刷するレポートを選択することができます。
document引数にドキュメントが指定され、そのドキュメントが存在しない場合(例えばdocumentにChar(1)を指定)、クイックレポートエディターが表示されます。
methodName 引数は、ユーザーがボタンをクリックすることでクイックレポートエディータのドキュメント管理コマンドが呼び出されるたびに実行される、4D プロジェクトメソッドを指定します。この引数を使用することは、QR ON COMMAND をクイックレポートエディターウィンドウのコンテキストで使用することと同じです(QR ON COMMAND は含まれているエリアのコンテキスト内でしか動作しません)。例えば、この引数を使用してクイックレポートで使用される文字セットを変更することができます。methodName 引数で指定したメソッドは、二つの引数を受け取ります:
引数 | 型 | 詳細 | |||||||||||||||||||||
$1 | 倍長整数 | エリア参照 | |||||||||||||||||||||
$2 | 倍長整数 | 選択されたコマンドの数。QR Commands テーマの以下の定数と比較することができます(ここにあるイベントのみがサポートされます):
|
注: データベースをコンパイルする場合、たとえ使用しなかったとしても$1 と$2 引数を明示的に倍長整数として宣言する必要があります。
ユーザーによって最初に選択されたコマンドを実行したい場合、引数のmethodName メソッド内において、以下の宣言を使用してください:
QR EXECUTE COMMAND($1;$2)
methodName 引数が空の文字列("") である、または省略された場合、メソッドは何も呼ばれず、QR REPORT の標準の操作が適用されます。
引数 * を指定しない場合、レポートの選択後に印刷ダイアログが表示されます。この引数を指定すると、これらのダイアログボックスは表示されず、レポートが印刷されます。
クイックレポートエディターが起動されない場合、レポートが印刷されるとシステム変数OKには1が、印刷されない場合 (つまり、ユーザーが印刷ダイアログでキャンセルをクリックした場合) には0が代入されます。
4D Server: このコマンドは、ストアドプロシージャーのコンテキストで、4D Server上で実行することができます。この場合次の制約があります:
次の例では、ユーザが[People]テーブルを検索した後に、“Detailed Listing”というレポートが自動的に印刷されます:
QUERY([People])
If(OK=1)
QR REPORT([People];"Detailed Listing";*)
End if
次の例題では、ユーザは[People]テーブルを検索した後に、印刷するレポートを選択することができます:
QUERY([People])
If(OK=1)
QR REPORT([People];"")
End if
次の例題では、ユーザが[People]テーブルを検索した後にクイックレポートエディタが表示され、レポートの設計、保存、ロード、印刷を行うことができます:
QUERY([People])
If(OK=1)
QR REPORT([People];Char(1))
End if
SET FIELD RELATION コマンドの例題参照
QR REPORT コマンドを使用して呼び出されたQuick Reportにて使用される文字コードを Mac Romanに変更したい場合:
QR REPORT([MyTable];Char(1);"myCallbackMeth")
レポートが生成される際、 myCallbackMeth メソッドによってレポートを変換します:
C_LONGINT($1;$2)
If($2=qr cmd generate) //レポートが生成されたとき
C_BLOB($myblob)
C_TEXT($path;$text)
C_LONGINT($type)
QR EXECUTE COMMAND($1;$2) //コマンドの実行
QR GET DESTINATION($1;$type;$path) //型の取得
If(($type=qr HTML file)|($type=qr text file))
DOCUMENT TO BLOB($path;$myblob)
//UTF-8を使用してテキストへと変更
$text:=Convert to text($myblob;"UTF-8")
//MacRoman 文字列を使用
CONVERT FROM TEXT($text;"MacRoman";$myblob)
//変換されたレポートを返す
BLOB TO DOCUMENT($path;$myblob)
End if
Else //そうでなければ、コマンドを実行
QR EXECUTE COMMAND($1;$2)
End if
プロダクト: 4D
テーマ: クイックレポート
番号:
197
変更: 4D 2004
変更: 4D v14
ランゲージリファレンス ( 4D v20 R7)