version 2004 (Modified)
PRINT RECORD ({table}{; }{* | >})
| 引数 | 型 | 説明 | |
| table | テーブル | カレントレコードを印刷するテーブル または | |
| 省略した場合はデフォルトテーブル | |||
| * | > | * | > | *: 印刷ダイアログを省略, または | |
| >: 印刷設定の再初期化をしない |
説明
PRINT RECORD はtableのカレントレコードを、カレントセレクションを変更せずに印刷します。カレント出力フォームが印刷に用いられます。tableにカレントレコードが存在しない場合、PRINT RECORDは何も行いません。
PRINT RECORDコマンドを使ってサブフォームを印刷することができます。これはPrint formでは実行できません。
Note: レコードに対して行われた修正が保存されていない場合、ディスク上の修正前のフィールド値ではなく、修正後の値が印刷されます。
デフォルトでPRINT RECORDは印刷の前に印刷ダイアログを表示します。印刷ダイアログをユーザーがキャンセルした場合、PRINT RECORDはキャンセルされ、印刷は行われません。
このダイアログの表示を省略するには、オプション引数 * または > を使います:
・* 引数は、現在の印刷設定 (デフォルトの設定、もしくはPAGE SETUPやSET PRINT OPTIONコマンドで定義した) に従い、印刷処理を行います。
・> 引数は上記に加え、現在の印刷設定を再初期化することなく印刷を行います。この設定は、以前に設定した内容を継続し、(例えばループ中で) 連続したPRINT RECORDコマンドを使用する時に役立ちます。
4D Server: このコマンドは、ストアドプロシージャのフレームワークにおいて4D Server上で実行することができます。この状況では、次の制約があります:
・サーバマシン上ではダイアログボックスを一切表示しないでください (特定の必要性がある場合を除く)。そのためにはこのコマンドを * または > 引数付きで呼び出さなければなりません。
・プリンタ関連の問題が発生しても (用紙切れ、プリンタ接続切断等) 、エラーメッセージは生成されません。
警告: PRINT RECORDと一緒にPAGE BREAKコマンドを使用してはいけません。PAGE BREAKコマンドはPrint formと一緒に使用します。
例題
1. 以下の例では、[Invoices] テーブルのカレントレコードを印刷します。このコードは入力フォームの印刷ボタンのオブジェクトメソッド内に記述されています。ユーザがそのボタンをクリックすると、レコードは指定した出力フォームで印刷されます。
OUTPUT FORM([Invoices];"Print One From Data Entry") ` 印刷用に作成された出力フォームを選択 PRINT RECORD([Invoices];*) ` 請求書をそのまま印刷 (印刷設定ダイアログを表示せずに) OUTPUT FORM([Invoices];"Standard Output") ` 出力フォームを元に戻す
2. 以下の例では、同じカレントレコードを二種類の異なるフォームを使用して印刷しています。このコードは、入力フォームの印刷ボタンのオブジェクトメソッド内に記述されています。印刷設定をを行った後、二種類のフォームでその設定を使用することが出来ます。
PRINT SETTINGS `ユーザが印刷設定を行う If (OK=1) OUTPUT FORM([Employees];"Detailed") `1番目の印刷フォーム PRINT RECORD([Employees];>) `ユーザが指定した設定を使用し印刷 OUTPUT FORM([Employees];"Simple") `2番目の印刷フォーム PRINT RECORD([Employees];>) `ユーザが指定した設定を使用し印刷 OUTPUT FORM([Employees];"Output") `出力フォームを元に戻す End if
参照