2 返信 最新の回答 日時: May 7, 2009 5:47 AM ユーザー:d.o

    小計を含むレイアウトでページ一番下に罫線を表示したい

    d.o

      タイトル

      小計を含むレイアウトでページ一番下に罫線を表示したい

      フォーラムに投稿

      みなさんこんにちは。

      ちょっと分かりにくい話で申し訳ないのですが...

       

      例えばデータが

       

      グループ 日付 データ

      A     2/1     100

      A     3/1     200

      A     4/1     300

      B     4/1     50

      B     4/2     150

      C     3/2     200

      ....

       

      上のようなテーブルをもとにレイアウトを作ったとします。

      グループ>日付でソートして表示させて..下のようなイメージで生じさせたいのです

      ┏━━━━━━━━━━━━━━━━━━━━━━━━━━

      ┃ A       2/1       100

      ┃          3/1       200

      ┃          4/1       300

      ┣━━━━━━━━━━━━━━━━━━━━━━━━━━ 

      ┃ B       4/1       100 

      ┃          4/2       150

      ┗━━━━━━━━━━━━━━━━━━━━━━━━━━

      ポイントは..

      ・見出し(グループ)を毎行表示するとうるさいので先頭行だけ表示させる

      ・見出しのグループ毎に上下に区切り線をいれる

       

      ということです。

       

      パートの構成を

      「グループをソート対象とする小計(前部)」高さ1ポイント

      「ボディ」高さは任意

      「グループをソート対象とする小計(後部)」高さ1ポイント

      としました。 

       

      上下の小計パートにレイアウトツールから直線を置きます。

      「グループ」を表示するフィールドを上側の小計パートに含める形で配置します。

       

      以上で、ほぼイメージ通りになりました。あと一息の部分でお知恵をお貸しいただければと思います。

       

      グループが複数ページにまたがる場合があります。 項目数がグループでまちまちなので、どこで区切れるかは変化してしまいます。

      例えば、上の例でBのグループがページをまたがる場合...

       

      1ページ目の最後

      ┏━━━━━━━━━━━━━━━━━━━━━━━━━━

      ┃ A         2/1         100

      ┃            3/1         200

      ┃            4/1         300

      ┣━━━━━━━━━━━━━━━━━━━━━━━━━━ 

      ┃ B         4/1         100 

       

       

      2ページ目の最初

      ┏━━━━━━━━━━━━━━━━━━━━━━━━━━  

      ┃              4/2           150

      ┣━━━━━━━━━━━━━━━━━━━━━━━━━━ 

      ┃ C           3/2           200 

       

      と表示されてしまいます(当たり前ですが)。

       

      これを以下のように表示させたいのです 

       

      1ページ目の最後

      ┏━━━━━━━━━━━━━━━━━━━━━━━━━━

      ┃ A         2/1         100

      ┃            3/1         200

      ┃            4/1         300

      ┣━━━━━━━━━━━━━━━━━━━━━━━━━━ 

      ┃ B         4/1         100 

      ┗━━━━━━━━━━━━━━━━━━━━━━━━━━

       

      2ページ目の最初

      ┏━━━━━━━━━━━━━━━━━━━━━━━━━━ 

      ┃ B         4/2         150

      ┣━━━━━━━━━━━━━━━━━━━━━━━━━━ 

      ┃ C         3/2         200 

       

      ポイントは1ページ目の最後に横線を引いていることです。この部分はグループの最後出はないので本来、横線は出ません。ページの切れ目になっている部分だけ横線を出したいのです。

      フッタの使用を試みたのですが、フッタはページの下側に固定されているのでうまくうまくいきません(ボディーパーとのすぐ下に来ない)。

       

      ポイントの2点目は2ページ目の頭の行に見出しとしてグループ名が表示されています。これも、2ページ目の一番上のレコードは本来切れ目ではないので...小計パートでは出ません。

       

       

      何だか分かりにくく長文になってしまいましたが、皆さんのお知恵をお願いします。

       

      P.S

      Excelだけで処理したがる人っていませんか?私の職場には結構います。データベースなんかは自分の領域外と思っているタイプで、全てExcelで処理したがる感じの。上の例で使ったデータだったらグループごとにファイルを分けてしまい、手作業で集計を出す感じ...。

      基本的に手作業で集計なのでミスが出ることも多いのですが、印刷方法の柔軟性は表計算ソフトの方がありますから、よく「こんなことも出来ないの?使えないね」と言われてしまいます。今回の例もそうなのですが。そういう方々は基本的に「情報」と「印刷の為のレイアウト」を分離できていないので、レイアウト毎にシートやらファイルをコピーして使うのでデータに1ヶ所変更が出ると大変な事になります。 

      データベースを使用するメリットの1つは、はまさにそういったトラブルを防げる事だと思います。あとは表計算並に印刷も自由が効けば..。

       

      最後は愚痴も入ってしまいましたが、よろしくお願いします。 

      にD-Oにより編集されたメッセージにD-Oにより編集されたメッセージ

        • 1. Re: 小計を含むレイアウトでページ一番下に罫線を表示したい
          user6776
            

          色々試しているのですが、なかなかうまくいきませんね。

          GetNthRecord関数を使って前のレコードとページが変わったら、グループが出現するような計算フィールドを一つ作れば巧くいくかなと思ったのですが、

          計算フィールドだとページ番号をうまく取得できずに頭を悩ましています。

          1Pに入るレコード数が確定できれば、計算式で判定できるのですが、プリンタの余白等印刷条件が変わって1Pに入るレコード数が変動した場合を考えると避けたい方法ですね。 

           

           

          一つ気になったのですが、上側の小計パートの高さが1ポイントなのに、「グループ」フィールドが配置されていると書かれていますが、

          実際には、上側の小計パートの高さは10ぐらいでしょうか? 

           

          >パートの構成を

          >「グループをソート対象とする小計(前部)」高さ1ポイント

          >「ボディ」高さは任意

          >「グループをソート対象とする小計(後部)」高さ1ポイント

          >としました。 

           

          >上下の小計パートにレイアウトツールから直線を置きます。

          >「グループ」を表示するフィールドを上側の小計パートに含める形で配置します。

           

          • 2. Re: 小計を含むレイアウトでページ一番下に罫線を表示したい
            d.o
              

            sago350さん

            レスありがとうございます。

             

            上側の小計パートは本当に高さ1ポイントです。 

            グループフィールドは 小計パーとの下のボディーにはみ出すかんじです。フィールドの左上が高さ1の小計パートにのっかるようにしています。

             

            各グループの一番上の行だけグループ名を表示させたいのでこのような変なことをしています。

            他に良い方法ってありますかね?Ver9以降は条件付き書式がついたから...その辺を使えばこんな変なことしなくても良いのかもしれません。

            Ver7から使ってるもので..。 

             

            >1Pに入るレコード数が確定できれば、計算式で判定できるのですが、プリンタの余白等印刷条件が変わって1Pに入るレコード数が変動した場合を考えると避けたい方法ですね。

             

            そうなんです。 1ページ毎の行数(レコード数)が一定じゃないし、高さ1ポイントの小計パートの影響もあって微妙に縦幅が変わってきます。

             

            私の方でも引き続き考えますので皆様のご意見もお聞かせ下さい。