最近のアクセス:
Print If Detail コマンド

グリッドのレコードが存在しない場合にレコードを印刷しないようにします。

構文

Print If Detail

説明

特定の顧客のデータと請求書のレポートのみを印刷し、請求書のない顧客を省略する (つまり、請求書のない顧客の名前は印刷しない) 場合があります。これを行うには、ネストされた For Each コマンドのグループが 2 つ必要です。次のとおり、外部の For Each コマンドは Customers テーブルにアクセスし、内部の For Each コマンドは Invoices テーブルにアクセスします:
For each order CustomerId // Customers テーブルにアクセス
     Print Pb_CustomerInformation
     For each // Invoices テーブルにアクセス
          Print Pb_CustomerInvoices
     EndFor
EndFor
Print If Detail コマンドの目的は、次の例に示すとおり、顧客に関連付けられた請求書がない場合に顧客のデータを印刷しないようにすることです。次の例を参照してください:
For each order CrewRank
     Print Pb_CrewData
     Print if detail
     For each
          Print Pb_FlightNumber
     EndFor
EndFor
このプロセスの目的は、フライトに割り当てられた乗務員のフライト番号すべてを一覧に示すことです。Print If Detail コマンドを省略すると、各フライトに割り当てられているかどうかに関わらず、乗務員全員が一覧に表示されます。この場合、CrewRank 項目属性および Pb_CrewData の printblock を通した Crew がベーステーブルです。そのため、最初に乗務員に関連付けられたフライトの番号を含むテーブルを確認する必要があります。Print If Detail コマンドの目的は、(各 For Each コマンドについて) 同じベーステーブルにネストしている最初の For Each コマンドのベーステーブルを変更することです。ただし、Order 節の CrewRank 項目属性はコントロールブレークのままとなります。
例は Print プロシージャーに関するものですが、印刷出力が特に含まれない場合でも Print If Detail コマンドを使用できます。たとえば、請求書のある顧客を (印刷ではなく) マークする必要がある場合などに使用できます。

適用範囲

オブジェクト:   Procedure
 



 





サブページ
Created: 14/09/18 03:17 by Admin Last update: 21/05/20 06:18 by Admin
カテゴリ
Powered by GXwiki 3.0