| 4D v18QR REPORT | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 
 | 
    4D v18
 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 ifSET 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 v18)
	
	
	
 コメントを追加
コメントを追加