過去の桐井戸端BBS (桐ver.9)
21509 複合レポートで複数の表をリンクして印刷しているがどうもうまくいかない KUMA 2003/07/22-16:00
レポートの作成でどうしてもわかりません。教えて下さい。
前提として、テーブルA表、B表、C表があり、これらの関係がこうなっています。

A表(主キー:[取引先CD])
B表(主キー:[資材NCD])
C表(主キーはなく、A表、B表からそれぞれ項目を表引きしている。)

そして、複合レポートを作るに当り、
1枚目:鏡の部分で、A表(ファイル属性で、指定されている。)
主として取引先名・住所・電話番号・担当者等A表の項目が記載されています。
2枚目:一覧表で、C表(オブジェクト属性で、指定されている。)
A表で指定された取引先とB表で規定された資材をC表で表引きして、C表では
取引先と資材を表引きした形になっています。

このとき、2枚目の一覧表の最大行数が、6データであり、たとえば、A表の甲会社
が6未満の資材数である(→C表でも6行未満のデータ数である)、
ときには印刷の際、
1枚目:甲会社鏡 2枚目:甲会社一覧表 3枚目:乙会社鏡 4枚目:乙会社一覧表...
というようにちゃんと出るのですが、
データが6を超えると、一覧表の1頁内に入らないので、
1枚目:甲会社鏡 2枚目:甲会社一覧表(1〜6) 3枚目:甲会社鏡(!)
 4枚目:甲会社
一覧表(7〜)...
というようにまたまた鏡が印刷されてしまうのです。
ファイル属性とオブジェクト属性のリンクの設定をいじってみたのですが、
うまくいきません。
この3枚目を印刷することなく、
1枚目:甲会社鏡 2枚目:甲会社一覧表(1〜6) 3枚目:甲会社一覧表(7〜) 4枚目:乙会社鏡
5枚目:乙会社一覧表(1〜6)
という形になるには、設定をどういじればいいのでしょうか?
ご教授お願い申し上げます。

21513 Re:複合レポートについて 悲しげ 2003/07/22-18:29
記事番号21509へのコメント
どもっ、KUMAさん

>が6未満の資材数である(→C表でも6行未満のデータ数である)、ときに
 ↑↓
>データが6を超えると、一覧表の1頁内に入らないので、

「未満」と「超える」だと「6」自体はどうなるのだろう(つまりどちらかは
「以下」か「以上」では)?とは思いますが、それはさておき(^^;)
詳細は理解できてきませんので外している可能性大ながら、

>が6未満の資材数である(→C表でも6行未満のデータ数である)

と云う1点だけから推して、私ならこうするかもしれないと思ったことは

まずC表で6行未満(以下?)のデータを絞り込んで印刷させる。
次にその補集合──C表で6行以上(を超える?)データ──で絞りこんで、
別に用意した6行以上(超?)専用のrptで印刷させる。

でも、意図が全く読めていないのでおそらく大外しだとは思います。(^^;)

21514 Re:複合レポートについて KUMA 2003/07/22-19:57
記事番号21513へのコメント
悲しげさん

コメントありがとうございます。
誰も教えて頂けないのかと思いました(^^;;。
ごめんなさい、説明不足ですね。
複合レポートの中に、ラベルとテキストで構成した明細ページ(これが1頁目)と一覧表で構成した
明細ページ(これが2頁目)があります。
そして、この2頁目の一覧表の最大行数が6行なのです。7行目は印刷はされるのですが、
2頁目ののちすぐに繰り返されるのではなく、一度1頁目の明細ページがはさんで印刷されてしまいます。
ご指摘のように、6行をこえるデータは6行以内にすれば、
きれいに印刷されるのですが、それではあまりに?
芸がないし、たくさんデータがあると大変なのでここでお聞きする次第です。
アドバイスお待ちしております。

21524 Re:複合レポートについて 悲しげ 2003/07/22-22:48
記事番号21514へのコメント
私も大意が判らないままコメントしてますが(^^;)、KUMAさんの方も、
私の書いたことを完全に誤読しているようですね。(^^;)(^^;)

>ご指摘のように、6行をこえるデータは6行以内にすれば、きれいに印刷され
>るのですが、それではあまりに?芸がないし、たくさんデータがあると大変な
>のでここでお聞きする次第です。

ここから推すに、KUMAさんは、私が「6行を超えるデータについては、
全て6行以内に収まるように入力し直すべきだ」と云ったと解釈されているのでしょうか?(?_?)
では云い直します。私が云わんとしたことは
 ▼6行以内用のrpt(A)と7行以上用のrpt(B)のふたつを作る。
 ▼先ずは6行以内のデータを絞り込んで、rpt(A)で印刷。
 ▼次にその補集合(つまり7行以上分の絞り込み)をrpt(B)で印刷。
と云うことです。
きっと似て非なることなのでしょうけど、私のところではこのように印刷しているものがあります。
印刷後の並べ替え手作業が少々手間ですが、
印刷結果の満足さで相殺されています。

ただ、どうもKUMAさんのやろうとしていることは、このようなこととは
全く異なるもののような気がしないではありません。よく読みとれないままながら。(^^;)

ps.
引用は最低限にて願い候。<(_ _)>

21528 Re:複合レポートについて うにん 2003/07/22-23:43
記事番号21509へのコメント
>1枚目:鏡の部分で、A表(ファイル属性で、指定されている。)

この「鏡」というのが意味不明なんですが(どこぞの業界用語?)
ファイル属性の「リンク表」で「ページ優先」になっているのでは?

21530 Re:複合レポートについて 佐田 守弘 2003/07/23-00:30
記事番号21509へのコメント
KUMAさん
●複合レポートのページレイアウト
明細ページを2ページ作り、1ページ目にA表のテキストオブジェクトを配置した「鏡」のページ、
2ページ目にはC表を対象表とした一覧表オブジェクトを配置するのですが、この通りになっていますか?
●リンク関係
2ページ目の一覧表オブジェクトのリンク関係には、ファイルの対象表である
A表の[取引先CD]と、C表にある[取引先CD]に相当する項目との間で、
リンク関係を設定してありますね。
であれば、通常は希望の通りのページ印刷になるはずです。

この場合、まず明細ページ(1)で鏡の部分が印刷され、次のページからは
明細ページ(2)に設定したC表のレコードがレコード数だけ印刷できるページ数続くはずなのです。
そして、C表のレコードが終ったら、A表の次のレコード(つまり次の取引先)の鏡が印刷されるはずです。

そうならずに、明細ページ1と2が交互に印刷されるのは、何か書かれていない
何らかの設定をしてしまっているか、冒頭に書いたようなレイアウトになっていない事しか分りません。
上記を確認の上、その他にどの様な設定を行ったかをお知らせ下さい。

佐田守弘(KS-00119)

追伸:「鏡」というのは、「フェイスシート」、「カバーシート」ないしは
「表紙」の事を意味する業界用語ですね。
多分建築関係以外の方には意味が通じないと思います。

21534 Re:複合レポートについて KUMA 2003/07/23-09:50
記事番号21530へのコメント
桐名人であられる佐田様からのコメント、心より感謝申し上げます。
>●複合レポートのページレイアウト
>明細ページを2ページ作り、1ページ目にA表のテキストオブジェクトを配置
>した「鏡」のページ、2ページ目にはC表を対象表とした一覧表オブジェクト
>を配置するのですが、この通りになっていますか?
はい、この通りになっております。この結果、レポートのファイル属性はA表を対象としており、
2ページ目の一覧表のオブジェクト属性の対象表はC表となっております。

>●リンク関係
>2ページ目の一覧表オブジェクトのリンク関係には、ファイルの対象表である
>A表の[取引先CD]と、C表にある[取引先CD]に相当する項目との間で、リンク
>関係を設定してありますね。
>であれば、通常は希望の通りのページ印刷になるはずです。
ご指摘のとおり、参照整合表の画面で確認しております。
ですから、本当にこれでうまく行くハズなんです。

>そうならずに、明細ページ1と2が交互に印刷されるのは、何か書かれていない
>何らかの設定をしてしまっている
はい。それが何かわかりません。取引先CDを一覧表中でグループ設定していることでしょうか?

>追伸:「鏡」というのは、「フェイスシート」、「カバーシート」ないしは
>「表紙」の事を意味する業界用語ですね。多分建築関係以外の方には意味が
>通じないと思います。
全くご指摘のとおりです。佐田様の洞察力には本当に感服申し上げます。

一つ気になるのが、明細ページの1頁目のオブジェクト(ラベルまたはテキスト)の表示タグ内の印字属性なんですが、
すべて「フォントサイズの調整」にチェックがはいっており、
その下の「他のオブジェクトのデータがあふれたとき、
繰り返し印刷する」のチェックをはずすと、明細ページの2頁のちくり返される3頁目の鏡部分のテキストが、
消えて印刷されなくなるという点でしょうか。
どこかデータがあふれているのかな、と全てのラベル・テキストオブジェクトについて
「データがあふれたとき次ページに印刷する」のチェックをはずしたのですが、変わりませんでした。
あと、定義画面内で左下に一覧表オブジェクトの定義と全体の定義を切り替えるタブがありますが、
そのタブ名が「一覧表2」(一覧表1は存在しない)となっているのも気になります。
おそらく、先に作った一覧表を削除し、新たに一覧表を作成した結果であるにすぎないと考えているのですが。
何かお気づきの点があれば、アドバイスをよろしくお願いします。
21535 Re:複合レポートについて KUMA 2003/07/23-10:02
記事番号21524へのコメント
悲しげさん、コメント、ありがとうございます。

> ▼6行以内用のrpt(A)と7行以上用のrpt(B)のふたつを作る。
> ▼先ずは6行以内のデータを絞り込んで、rpt(A)で印刷。
> ▼次にその補集合(つまり7行以上分の絞り込み)をrpt(B)で印刷。
>と云うことです。
>きっと似て非なることなのでしょうけど、私のところではこのように印
>刷しているものがあります。印刷後の並べ替え手作業が少々手間ですが、
>印刷結果の満足さで相殺されています。

悲しげさんの手法も一方法だと思います。
でも、また別の話になりますが、大量のレコード中で、
例えば、どの取引先CDが6行以上あるかは、一括処理なりでできるのでしょうか?
この6行以上レコード数のあるデータを絞るという作業はデータ数が多いと
手作業ではとても骨の折れる作業になってしまいます。

>ps.
>引用は最低限にて願い候。<(_ _)>

ご指摘の通り致します。不慣れで申し訳ありませんでした。
コメント、ありがとうございます。

21536 Re:複合レポートについて KUMA 2003/07/23-10:06
記事番号21528へのコメント
コメント、ありがとうございます。
>この「鏡」というのが意味不明なんですが(どこぞの業界用語?)

「鏡」というのは業界用語だったのですね。「鏡」はなにかの書類の表紙という意味です。
レポートならば、「××業務」等、表題を入れます。

>ファイル属性の「リンク表」で「ページ優先」になっているのでは?

申し訳ありません、初心者のため、ご指摘の意味がわかりませんでした。
レポート中の一覧表内のオブジェクト属性の対象表タブ内に「リンク設定」
というのがありますが、このコマンド中に「ページ優先」なる設定は存在しないようです。
もしよろしければもう少し詳しくご教授いただけましたら幸いです。
よろしくお願い申し上げます。

21537 Re:複合レポートについて うにん 2003/07/23-10:12
記事番号21536へのコメント
>>ファイル属性の「リンク表」で「ページ優先」になっているのでは?
>
>申し訳ありません、初心者のため、ご指摘の意味がわかりませんでした。
>レポート中の一覧表内のオブジェクト属性の対象表タブ内に

そこではなくて、レポートの「ファイル属性」です。
空いているところで右クリックするか、「ファイル」メニューにあります。

21539 Re:複合レポートについて うにん 2003/07/23-10:25
記事番号21534へのコメント
>>●リンク関係
>>2ページ目の一覧表オブジェクトのリンク関係には、ファイルの対象表である
>>A表の[取引先CD]と、C表にある[取引先CD]に相当する項目との間で、リンク
>>関係を設定してありますね。
>>であれば、通常は希望の通りのページ印刷になるはずです。
>ご指摘のとおり、参照整合表の画面で確認しております。

ちょっと変です。「参照整合性」の設定と、ファイル対象表と一覧表対象表のリンクの設定は全く別のはずです。

>一つ気になるのが、明細ページの1頁目のオブジェクト(ラベルまたはテキス
>ト)の表示タグ内の印字属性なんですが、すべて「フォントサイズの調整」に
>チェックがはいっており、その下の「他のオブジェクトのデータがあふれた
>とき、繰り返し印刷する」のチェックをはずすと、明細ページの2頁のちくり
>返される3頁目の鏡部分のテキストが、消えて印刷されなくなるという点で
>しょうか。どこかデータがあふれているのかな、と全てのラベル・テキストオブ
>ジェクトについて「データがあふれたとき次ページに印刷する」のチェックを
>はずしたのですが、変わりませんでした。

あふれているのは一覧表オブジェクトです。1ページ(というより、
定義した領域のサイズ)でデータを印字しきれなければあふれていることになります。

21540 解決しました。 KUMA 2003/07/23-13:03
記事番号21509へのコメント
こんにちわ。
いろいろ多くのアドバイスを賜り、ありがとうございました。

うにん様のアドバイスにしたがい、ファイル属性のリンク表タブ内の
印字属性→明細レコードの印刷について、ページ優先からオブジェクト
優先に変更したところ、うまく印刷ができるようになりました。

全く予想していなかった点でした。目からうろこが落ちたようです。
うにん様、アドバイス、本当にありがとうございました。

佐田様、悲しげ様もいろいろとアドバイスをいただき、本当に心から感謝申し上げます。
ありがとうございました。

21542 Re:複合レポートについて 悲しげ 2003/07/23-14:16
記事番号21535へのコメント
どもっ、KUMAさん
解決したようで何よりです。因みに私は最後まで意図が判りませんでした。(^^;)
でも、ついでだから「別な話」について1点だけコメントしておきます。

>悲しげさんの手法も一方法だと思います。
>でも、また別の話になりますが、大量のレコード中で、例えば、どの取引先
>CDが6行以上あるかは、一括処理なりでできるのでしょうか?

う〜ん、またまた「以上」と「超える」の用語上の混同があるようですが、
それはさておき(^^;)、このこと自体は簡単です。
例えば仮称[明細連番]なる数値系の作業用項目を設けておくとします。
で、この計算式(表定義からの項目計算式または置換条件の置換計算式)を
次のように
   #条件選択([取引先CD]<>#直前値([取引先CD],""),1
    ,1,#直前値([明細連番],0)+1)
意味は、取引先CDが変わったら1、変わらなければ連番の直前値に+1する。
こうしておいて、

   絞り込み [明細連番]=<6  (「6以下」の場合)
   (あるいは「6未満」なら [明細連番]<6)

   その補集合
   あるいは絞り込み解除後 [明細連番]>6 (「6を超える」場合)
   (あるいは「6以上」なら [明細連番]>=6)

本件とは関係ないようですが、今後の参考になれば幸いです。

それと「以下」と「未満」、「以上」と「超える」については、特に他者に
伝える時など、くれぐれも混同しないように注意しませう。(^^;)

21545 Re:複合レポートについて KUMA 2003/07/23-15:13
記事番号21542へのコメント
悲しげさん、いろいろ教えていただき、感謝申し上げます。

>それと「以下」と「未満」、「以上」と「超える」については、特に他者に
>伝える時など、くれぐれも混同しないように注意しませう。(^^;)

ご指摘のとおりです。気を付けます。ありがとうございます。

高度な技をいとも簡単に考えられるがスゴイです。
またいろいろ教えて下さい、今回は本当にありがとうございます。


21566 Re:複合レポートについて 通りすがり(常駐モード) 2003/07/24-11:34
記事番号21536へのコメント
>「鏡」はなにかの書類の表紙

これって、「鑑」じゃないかな?

戻る