ひな型シート3行目

ひな型の3行目
 ひな型の3行目は、WriteReportReadReportコマンドで指定された処理をXCute本体が実行した後の情報が書き込まれるほか、R3C8以降のセルでOverWriteや次ページへのコマンド(コマンド連鎖)を指定することもできます。

R3C1 XCute本体のエラーメッセージ
 XCuteで、WriteReport、ReadReportやOverWrite、OverReadでエラーが発生したとき、このセルにエラーメッセージが書き込まれます。このエラーは、R3C6セルでフックできます。

R3C2 WriteReport時の全レコード数 または ReadReport時の読み取り件数

R3C3 WriteReport時の書き始め行数 または ReadReport時の修正件数

R3C4 WriteReport時の書き出した行数 または ReadReport時の追加件数

R3C5 ReadReport時の削除件数

R3C6 エラー・トラップ
 R2C6セルは前半のエラートラップですが、R3C6はWriteReportReadReport処理後のエラートラップを行えます。
 ここにはMessageコマンドの他GOTO R3C20などが記述できます。GOTOとした場合には、飛び先にRollBackやOverReadなどのコマンドを記述します。

下記は、WriteReortコマンドを実行後、R3C2が0でレコードが存在しなかった場合のエラートラップの例です。
=IF(R3C2=0,"Message=レコードはありませんでした","")

DBにエラーが発生した時のエラートラップ
=IF(R3C1<>"","Message=DBでエラーが発生しました","")

XCute側で、DBエラーなどが発生した時のエラーメッセージはR3C1に記述されるとともに、Error.Logにも残されます。
ブラウザの表示には、つぎの3つのパターンがあります。

エラーフックせず、proles.iniファイルDebug>0なら、下記のように、エラーメッセージをそのまま表示。

エラーフックせず、proles.iniファイルDebug=0の実行モードでは、エラーメッセージに関わらず下記の表示。

参照
 ○
proles.iniファイル

R3C7 MyCookieを指定

参照
 ○
MyCookieスイッチ

R3C8以降
 WriteReportReadReportがエラー無しで終了した場合、R3C8以降のセルをXCuteは実行します。
ここにOverWrite,OverReadあるいはEXT_SQLコマンドを指定されていればそれらを実行し、全て実行すると、印刷範囲をHTML化してブラウザへHTMLファイルを返しブラウザのリクエストに応えます。
さらに続けてWriteSheetなどのメインコマンドが指定されていればそれらを実行します。後者のメインコマンドの実行は、ブラウザからのリクエストと同じに扱われコマンド連鎖と言っています。コマンド連鎖でメインコマンドが呼ばれると、そのひな型シートが新しくコピーされ、ひな型が変更されてしまいます。
 OverWriteOverReadは、それぞれWriteReportReadReport対応した処理で、ひな型シートを変更することなく上書き(Over)すると言う意味です。
 FilterCHG_SQLOverWriteに使う時は、Filter, OverWrite=ReportA, CHG_SQL, OverWrite=ReportBなどとR3C8以降に指定します。(1コマンド1セルで記述します)
このように指定すると、FilterOverWrite=ReportAに作用し、CHG_SQL,はOverWrite=ReportBに作用します。

 OverWriteOverReadは、何回でも指定できます。複雑なレポートを作成するには、OverWriteを多用して、1つのシートにさまざまなテーブルのデータを貼り付けます。また、OverReadを多用して、たくさんのテーブルを更新することも可能です。

 上記のように、OverWriteOverReadEXT_SQLコマンドが自由に指定できるR3C8以降のセルは、XCuteで複雑な画面を作成する時の要になります。
また、OverWriteOverReadEXT_SQLコマンド実行後、Excelのひな型の中にあるProDebug という名前のマクロをproles.iniファイルDebug=2の時にコールします。ProDebug にブレークポイントを張って置けばここで止まりますので、状態のチェックが可能です。

コマンド連鎖の指定は、ブラウザからのクエリーストリングの指定と同じで、1つのメインコマンドと複数のSetコマンドが使われます。コマンド連鎖のSetコマンドは、メインコマンドの前あるいは後どちらに記述しても構いません。

なお、R3C8以降のセルにも、R2C8以降セルと同様に、GOTO RyCx
書式のジャンプ命令が使えます。
参照
 ○
OverRead
コマンド
 ○OverWriteコマンド
 ○Nextコマンド
 ○Filterコマンド
 ○Sortコマンド
 ○CHG_SQLコマンド

 ○EXT_SQLコマンド
 ○INCコマンド
 ○RPLコマンド

 ○ProDebugマクロ

 ○GOTOコマンド


参照
 ○
ひな型シート1行目
 ○ひな型シート2行目