3-7-4 可変タイプのデータの出力エリア(サブフォーム)を作成する

帳票の中には、売り上げ台帳の明細、小計、合計などのように、必要に応じて行を挿入したり、印字位置が異なったりする可変タイプの帳票があります。このような帳票を作成するために、行によって異なる内容が出力できる領域として「サブフォーム」を作成し、通常のフォームと区別します。さらに、サブフォームの中にデータの出力エリアである「レコード」を作成する必要があります。


可変タイプの帳票例


サブフォームとレコードの例

注意
  • サブフォームは1つのフォーム内に複数個作成できますが、リンクしていないサブフォームを複数制御することはできません。レコードを作成できるサブフォームは、1つのXML様式ファイル内に1つのみです。
  • サブフォーム直下の階層には、以下のアイテムは作成できません。
    • フィールド、イメージ、バーコード、2次元バーコード
    • 属性式を設定したアイテム

必要に応じて、印字レコードがサブフォームの領域を超えた場合の出力先となるリンクサブフォームを作成します。


サブフォームからのはみ出しはリンクサブフォームに出力

注意

繰り返しとサブフォーム、レコードを1つの様式には配置できません。

サブフォームを配置する

サブフォームの配置は、次の手順で行います。

  1. [サブフォームの作成]を選択する

    メニューバーから[アイテム]-[サブフォームの作成]を選択、または[サブフォームの作成]ボタンをクリックし、フォーム上の任意の位置にマウスカーソルを置きます。
    マウスカーソルの表示がに変わります。

  2. 配置位置にドラッグする

    フォームウィンドウ上で矩形を描くようにマウスをドラッグします。
    サブフォームが配置されます。

  3. 配置したサブフォームを選択する

    配置したサブフォームを選択します。
    プロパティエディター]に、選択しているサブフォームのプロパティが表示されます。

  4. プロパティを設定する

    プロパティの各種項目を設定します。

    参考

    重なった塗り込みを透過モードにする
    アイテム同士を重ねたときに、透過させて表示するかどうかを指定できます。透過する場合は、塗り込みがあるアイテムが重なったときは、重なっている部分が透過されて表示されます。


    透過する場合

    透過されない場合は、次のように表示されます。


    透過されない場合

    透過モードにする場合は、[設定]-[動作設定]-[表示]の[塗り込みを透過モードにする]にチェックを付けます。透過表示するアイテムは、ベーシックモードで使用できるアイテムのみです。ただし、イメージは透過表示できません。
    また、透過モードはウィンドウ上で透過表示するための機能であり、実際の印刷時には透過は行われません。

サブフォームのプロパティを設定する

サブフォームのプロパティを設定します。プロパティは[基本設定]、[綴り設定]に分類され、タブごとにまとめられています。


サブフォームのプロパティ

参考

色を指定する欄では、[設定]-[パレットカラー設定]でパレットカラーとして登録されている色を選択できます。パレットカラーの設定方法については、「3-12-4 パレットカラーを設定する」を参照してください。

基本設定

プロパティ
説明

名前

サブフォーム名を入力します。指定していない場合は、自動的に「SubForm1」から連番で指定されます。英数、カナ、漢字と下線記号(_)が使えます。名前の先頭文字に数字は使用しないでください。入力できる名前の長さは[動作設定]での設定により異なります。(Service Pack 6で対応) 

リンクサブフォーム名

リンクサブフォームを設定します。
サブフォームにレコードを印字して領域を超えた場合は、通常は改ページをして、以降新たなページに印刷されますが、リンクサブフォームが設定されていると、同じXML様式ファイル内の指定されたサブフォームに続けて印字されます。
リンクされるサブフォームはその領域だけを設定し、サブフォーム内にレコードなどの設定はしないでください。元のサブフォーム内のレコードがそのまま引き継がれます。

参考
  • リンク先のサブフォーム名自体が変更された場合は、連動して[リンクサブフォーム名]も自動的に変更されます。

  • リンク先のサブフォームで[リンクサブフォーム名]を設定することはできません。複数のサブフォームをリンクしている場合は、一番最後のリンク先サブフォームのみ[リンクサブフォーム名]を設定できません。

グラフィックモード

グラフィック機能を有効にするかどうかを指定します。チェックを付けた場合は、グラフィック機能が有効に指定され、拡張設定ができます。グラフィックモードの詳細は、「3-2 動作設定」の「3-2-7 操作モード」を参照してください。

参考

プロパティエディター]に[グラフィックモード]が表示されるのは、[動作設定]-[操作モード]で[グラフィックモードを有効にする]にチェックが付いている場合です。

始点X(dot)

サブフォームの左上隅のX座標を指定します。

始点Y(dot)

サブフォームの左上隅のY座標を指定します。

終点X(dot)

サブフォームの右下隅のX座標を指定します。

終点Y(dot)

サブフォームの右下隅のY座標を指定します。

展開方向

サブフォーム内に設計したレコードの展開方向を選択します。サブフォーム内に設計したレコードは、前のレコードに接して印字されます。
  •  前のレコードの右側に配置します。

  •  前のレコードの下に配置します。

データがないとき、サブフォームを印刷しない

リンク元でデータの出力が終了した場合に、リンクサブフォームでサブフォームの枠だけを印刷するかどうかを指定します。
チェックを付けた場合は、データがないときのサブフォーム枠を印刷しません。

キーフィールドのグループサプレスをキーブレイクと連動させない

キーフィールドのグループサプレスをキーブレイクと連動させるかどうかを指定します。チェックを付けた場合は連動しません。

レコード数に関わらず、枠の大きさは固定にする

明細データがサブフォームの途中で終了したとき、サブフォームの枠の大きさまで罫線を出力するかどうかを指定します。
チェックを付けた場合は、サブフォームの枠の大きさまで罫線が出力されます。


出力されるデータ量に、罫線の出力範囲を合わせた場合


出力されるデータ量にかかわらず、罫線を枠の大きさまで出力した場合

参考

複数の明細レコードを作成した場合は、一番上に設計された明細レコードが枠線として繰り返し出力されます。

印刷モード

キーブレイクが指定されている場合の、レコードの印刷順を設定します。
  • 大計、中計、小計、明細
    先に合計レコードが表示されます。

  • 明細、小計、中計、大計
    一般的な一覧表は、明細、小計、中計、大計という順番で印刷されます。


    明細、小計、中計、大計順の場合


    大計、中計、小計、明細順の場合

外線の有無

枠線の有無を指定します。
チェックを付けた場合は、枠線を表示します。

線種

印刷する罫線の種類を選択します。

制限事項
  • 指定した線種がプリンターで扱えない場合は、プリンターでデフォルトとして所有している線種で出力されます。
  • プリンターにより破線の間隔などが違う場合があります。

線幅

線幅を選択します。
自由(dot)]を選択した場合は、次の[線幅(dot)]で線幅を自由に指定します。

線幅(dot)

線幅]で[自由(dot)]を選択した場合は、線幅をドット単位で指定します。

制限事項

ウィンドウの表示が「400%」以外の場合は、線幅が正確に表現されないことがあります。

枠の種類

枠の種類を、「四角」「四辺」のいずれかから指定します。
四辺」を選択した場合は、辺ごとに、線種、表示/非表示、線幅を指定できます。

コーナー区分

矩形の角の形を指定します。
  • 直角

  • カット

  • 逆丸 (グラフィックモードの場合のみ)

コーナー選択(左上)コーナー選択(左下)コーナー選択(右上)コーナー選択(右下)

形を変える角の位置を選択します。
枠の種類]が「四角」のときのみ、指定できます。
チェックを付けた場合は、[コーナー区分]で選択した形状に表示されます。チェックを外した場合は、直角です。

コーナーの半径(dot)

コーナー区分]で[カット]、[]、[逆丸]を選択したときに、コーナーの半径を指定します。

線色のパターン(グラフィックモードの場合のみ)

枠線の塗りのパターンを指定します。

タイルパターン

線色のパターン]で[パターン網掛け]を選択した場合に、タイルのパターンを指定します。

タイル線の幅(dot)

線色のパターン]で[パターン網掛け]を選択した場合に、タイル線の幅を指定します。

タイル線の間隔(dot)

線色のパターン]で[パターン網掛け]を選択した場合に、タイル線の間隔を指定します。

グラデーション

線色のパターン]で[グラデーション2]を選択した場合に、枠線のグラデーションの開始色から終了色への方向を指定します。
終了色、および区分の設定によってグラデーションが変化します。


を指定した場合のグラデーション

線の色2

線色のパターン]で[パターン網掛け]を選択した場合は、タイル線の色を指定します。[線色のパターン]で[グラデーション2]を選択した場合は、グラデーションの終了色を指定します。

属性式

属性式を設定します。属性式の設定については、「5-3-1 属性式の設定」を参照してください。

綴り設定

プロパティ
説明

共通

設定できません。必ず共通ページアイテムになります。

XXページ目の線色

各ページにおけるサブフォームの枠線の印刷色を指定します。印刷色については、「3-12 アイテムの色を設定する」を参照してください。

サブフォームを拡大/縮小する

サブフォームを拡大/縮小することによって、エリアサイズを変更できます。
サブフォームを拡大/縮小するには、次の手順で行います。

  1. サブフォームを選択する

    サブフォームを選択します。
    周りに四角いハンドルが表示されます。


    サブフォームを選択

  2. ハンドルにマウスカーソルを重ねる

    四隅、または縦、横の辺上のいずれかの四角いハンドル付近までマウスカーソルを移動します。
    マウスカーソルの表示がに変わります。


    マウスカーソルが両矢印で表示される

  3. 拡大/縮小方向にドラッグする

    任意の方向にドラッグします。
    サブフォームが拡大/縮小され、エリアサイズが変更されます。

参考

表認識を利用すると表計算ソフトのセルのように操作して拡大/縮小することもできます。詳細は「3-11-2 表認識を利用してサイズを変更する」を参照してください。

サブフォーム内に新規アイテムを配置する

サブフォーム内に新規にアイテムを配置する場合は、階層関係が自動的に作成され、サブフォームの領域からはみ出ないように設定されます。
この階層の管理は、[ナビゲーター]の[階層別]タブで行います。階層をあらわすツリーを「階層ツリー」と呼びます。

例えば、サブフォームだけが作成されている場合の階層ツリーは、次のとおりです。


サブフォームのみが作成されている状態の階層ツリー

サブフォーム内にアイテムを配置すると、階層ツリーでは該当するサブフォームの直下にツリーとして追加されます。


サブフォーム内にアイテムなどが配置

配置したアイテムをサブフォームの階層下に入れたまま、サブフォーム領域外に配置したい場合は、移動する対象を選択してAltキーを押しながらドラッグします。
複数明細レコードの設計で、サブフォームの領域内に入らないほどのレコードを作成する必要がある場合や、合計レコードをサブフォームの領域外に配置しておきたい場合などに使用します。

注意

サブフォームを削除する場合は、削除確認のメッセージが表示されます。
はい]ボタンをクリックすると、サブフォームの階層下にあるアイテムも削除されます。

アイテムをサブフォームの階層から外す

サブフォームの階層下にあるアイテムは、サブフォームの領域外に配置できません。サブフォームの領域外に移動したい場合は、[ナビゲーター]の階層ツリーでサブフォームの階層下から外し、サブフォームと同じ階層に移動する必要があります。

  1. アイテムを「SvfForm」にドロップする

    ナビゲーター]の階層ツリーで、サブフォームの領域外に配置したいアイテムを選択し、サブフォームの上の階層にある「SvfForm」までドラッグ&ドロップで移動します。


    「SvfForm」までドラッグ&ドロップで移動

  2. ドロップしたアイテムがサブフォームの階層から外れる

    選択していたアイテムがサブフォームと同じ階層に配置されます。


    サブフォームの階層から外れる

参考
  • サブフォームの領域外に配置したいアイテム選択し、右クリックで表示されるメニューの[(SVF)階層⇔移動]から[メイン(SvfForm)へ移動]を選択しても、サブフォームの階層下から外せます。[(任意のアイテム名)へ移動]を選択した場合は、移動先アイテムの階層下に移動します。

  • 階層ツリーでサブフォームの階層下から外れたアイテムは、フォームウィンドウ上でサブフォームの領域外に移動できます。

既存のアイテムをサブフォームの階層下に配置する

サブフォームの領域外に配置されているアイテムをサブフォームの階層下に配置するには、[ナビゲーター]の階層ツリーで操作します。

  1. アイテムをサブフォームの階層にドロップする

    ナビゲーター]の階層ツリーで、サブフォームの階層下に配置したいアイテムを選択し、該当するサブフォームまでドラッグ&ドロップで移動します。


    該当するサブフォームまでドラッグ&ドロップで移動

  2. ドロップしたアイテムがサブフォームの階層下に配置される

    選択していたアイテムがサブフォームの階層下に配置されます。


    サブフォームの階層下に配置される

参考

サブフォームの階層下に配置したいアイテム選択し、右クリックで表示されるメニューの[(SVF)階層⇔移動]から[(任意のサブフォーム名)へ移動]を選択しても、サブフォームの階層下に移動できます。

制限事項
  • 階層ツリーでサブフォームの階層下にあるアイテムは、フォームウィンドウでサブフォームの領域外に移動できません。
  • 階層ツリーでアイテムを階層下に配置できるのは、サブフォームとレコードと連写のみです。そのほかのアイテムの階層下には配置できません。