公報1件につきマス目表示したいフィールドを映し出すフィールドを新たに用意し、それをマス目の中に配置します。新たな別のフィールドをまた別のマス目に配置・・・これを15個分作り、15マスで1つのレイアウトにします。 作るフィールドは合計15マス分です。
データ表示方法は、この15マス分のフィールドに、計算でおおもとのデータが格納されているフィールドを GetNthRecord(フィールド名;レコード番号) を使って指定し、映し出してやります。
各公報(1マス)毎の対応するレコード番号を、今表示している15マス/1レコードのレコード番号を基に計算で求めて GetNthRecord に入れています。
これはレイアウトであり、別のテーブルを作っているわけでは有りません。
このレイアウト上では、1レコードに本来の15レコードのデータを表示することになり、全体の1/15のレコードを使用して全レコードを表示しています。これ以降のレコードには表示されるデータが存在しません。
よって、ステータスツールバーでレコード移動をしていくと、空白レコードが現れてくるので、ステータスツールバーを非表示にし、別途レコード送りのボタンを設けたり、矢印キー+スクリプトトリガで、不要なレコードが表示されないように、レコード移動をスクリプトでコントロールしています。
この表示切替の管理に公報1件毎の通し番号を、印刷の際のページ数管理に各ページ(15マス)の通し番号を利用しています。
行列形式でのデータ表示の概略は以上で、以降15マスのフィールド定義内容、画面切換えスクリプトのポイント説明に移ります。
(行列表示のレイアウトとフィールド設定)