★★★:よくある

~今回の記事に関連する記事のリンク~

「購入日の月毎に改ページして帳票を出力したい」

「各明細行の金額の合計を算出し、明細の最終行に出力したい(可変行)」

「明細レコードに正しく項目が印字されない」

「単価と数量を使って金額を算出したい(可変型)」

「商品名が長かった場合に自動的に折り返して出力させたい(可変行)」

可変型の明細がある帳票で、購入日ごとに金額の合計を算出し合計行として出力したいことがあると思います。その場合には「レポートライター機能のキーブレイク」によって簡単に実現することができますよ。

まずは「明細数が増減する帳票を作りたい(可変行)」を参照して可変型の明細を作成してみましょう。

それでは次に合計行として出力するレコードを作成していきたいと思います。既に作成しているレコードとは間隔を少し空けてもう1つレコードを作成しましょう。※レコードの間隔を空けているのは設計上見易くしているためです。間隔を空けても帳票出力時には何も影響がないので安心して下さい。

次に2つ目に作成したレコードをクリックし、右部プロパティより[名前]を「合計」、レコードタイプを「合計レコード」にします。今回は月ごとの明細グループの最終行に印字したいので「合計レコード」を選択します。

さらに今回は一目見ただけで合計行と判別できるように合計行はグレーアウトで出力したいと思います。レコードをクリックし、右部のプロパティの[塗り込みパターン]の▼マークをクリックしましょう。

塗り込みパターンのリストの中から「グレースケール」を選択し、[グレースケール(%)]を「90」します。[グレースケール(%)]の値が0に近いほど濃く、100に近いほど薄くなります。

それでは次に[固定文字の作成]で「合計」、[フィールドの作成]で「合計金額」を作成しましょう。フィールド「合計金額」には明細レコードの金額の合計を算出する計算式を設定するので[データ型]を数値にすることを忘れないようにしましょう。※固定文字とフィールドを配置する際には階層に気を付けて配置して下さいね。階層については「明細レコードに正しく項目が印字されない」を参照して下さい。

次に各明細行の金額の合計を算出する関数を設定していきます。フィールド「合計金額」をクリックして、右部プロパティの[計算式]の鉛筆マークをクリックします。

計算式画面が表示されるので、[関数の参照]をクリックして関数一覧の中から「SUM():合計値の取得」を選択して[式の入力]をクリックします。

計算式入力欄に「SUM(金額)」と入力されていることを確認したら[OK]をクリックして計算式画面を閉じます。

次に金額項目になるので「数字を3桁区切りで表示したい」を参照してフィールド「合計金額」にカンマ区切りの設定をしてみましょう。

今回は購入日の年月が変わったタイミングで合計行を挿入するので、「購入日の月毎に改ページして帳票を出力したい」を参照して、合計行を挿入するタイミングを決めるためのキー項目フィールド「月」の"キー項目を1に設定するところまで"行ってみましょう。

次に月が変わったタイミングで合計行を挿入したいので、作成したフィールド「月」を選択し、プロパティ[レポートライター]の合計レコード名のリストから先程作成した合計レコード「合計」を選択します。

ここまでの設計では「月」を基準にデータがソートされている状態なので、2番目のソート優先順位として「購入日付」を設定しましょう。フィールド「購入日付」を選択し、プロパティの[レポートライター]のキー番号を▲にて設定します。既にフィールド「月」を1に設定しているので「購入日付」は自動的に2が設定されます。

以上の設定で月ごとの金額を算出し合計行として出力することができますよ。

今回紹介した「レポートライター機能」とレコードを組み合わせて設定することで様々な種類の帳票を作成することができると思うので上手に活用していって下さいね。