過去の桐井戸端BBS (桐ver.9)
23717 レポート内の連番で改頁と同時に1から始まるようにしたい 考え中 2003/12/05-10:48
いつもお世話になっております。
レポートについて教えて下さい。
レポートの項目に[担当者]という項目と、[物品番号]という項目があります。
レポートを開くと[物品番号][担当者]を使って担当者毎に物品番号が昇順でソートされるようにしています。
ここで、レポート(一覧表)に[担当者]毎にグループ化し、改頁設定をして印字する際には、
[担当者]毎に[物品番号]が昇順となるような一覧表を作成しています。
物品番号は、T1234などで、その物品番号自体が何個あるかは直感的にわかりにくいため、
レポート内にNo.という表示をして、そこに関数#連番を定義しています。
しかし、このようにすると、例えば担当者がAからBへ変わった時点で出力されるとき、
レポート内の連番はAからの続きになってしまいます。
つまり、担当者Aの取り扱う物品が30個であれば、連番は1〜30まで振られますが、
担当者Bの出力の際、同じtblファイルなので、連番が初期化されず、担当者Bの連番は
31からはじまってしまうのです。
これを改頁と同時に連番が1から始まるようにする(できるだけ対象表であるtblをいじらず
レポート上で自動的に完結したい)には、どうすればよろしいでしょうか。
ご教授よろしくお願い申し上げます。

23724 Re:レポート内の連番について 悲しげ 2003/12/05-12:05
記事番号23717へのコメント
どもっ、考え中さん

>レポート内にNo.という表示をして、そこに関数#連番を定義してい
>ます。

「#連番」ではなく「#明細連番」関数で試してみて下さい。

23726 Re:レポート内の連番について うにん 2003/12/05-12:51
記事番号23724へのコメント
>「#連番」ではなく「#明細連番」関数で試してみて下さい。

「改頁と同時に」ならそれでいいのですが、本当は「グループ値が変わると同時に」をやりたいのではないかと思います。
#集計グループ連番というのがあるんですが、何故か明細部には使えないですね:-(

23727 Re:レポート内の連番について 考え中 2003/12/05-13:13
記事番号23717へのコメント
悲しげ様、うにん様、早速のレス、ありがとうございます。
うにん様ご指摘のとおりグループ単位で連番を振りたいので、#明細連番は頁ごととなってしまい、だめでした。
また、#集計グループ連番はこれもご指摘のとおり、エラーが出てしまいます。
他に方法はありませんでしょうか?
良い方法がありましたら、ご教授よろしくお願い申し上げます。

23729 Re:レポート内の連番について 悲しげ 2003/12/05-13:45
記事番号23727へのコメント
あ、#明細連番は頁ごとでしたか。(^^;)

>できるだけ対象表であるtblをいじらずレポート上で自動的に完結したい

ここがネックですね。
私なら迷わず作業項目を増設して、そこで値を記述してから印刷に臨むと思います。
それが超楽チンだから。
「できるだけ」と云うことは「できない訳でもない」みたいなので、その方法を先ずはお勧めします。
あるいは「できるだけ」と云うのが単なる修辞で、限りなく「できない」に等しいのであれば、
別途[No]項目ありの印刷作業表に書き出し(あるいは読み込み)して、その作業表を印刷対象表にするとか。

[No]項目の置換(または項目)計算式は、お判りかとは思いますが、
念のため挙げておけば

#条件選択(#直前値([担当者],"")<>[担当者],1,1,#直前値([No],0)+1)

23736 Re:レポート内の連番について うにん 2003/12/05-16:09
記事番号23729へのコメント

>#条件選択(#直前値([担当者],"")<>[担当者],1,1,#直前値([No],0)+1)

を応用して項目の代りに変数を使うと
#代入(&秒,#条件選択(#直前値([担当者],"")<>[担当者],1,1,&秒+1))

23749 Re:レポート内の連番について みっち 2003/12/06-02:48
記事番号23717へのコメント
考え中さん

#連番を指定しているレポートオブジェクトをテキストより集計に直します。
このときデフォルトで総計が設定されますのでこれを[担当者]と同じ小計か中計に直すとうまくいくんじゃないかな....


23758 Re:レポート内の連番について うにん 2003/12/06-12:57
記事番号23749へのコメント

>#連番を指定しているレポートオブジェクトをテキストより集計に直します。

おお〜、ちゃんと#連番のとこに書いてありました(^^;
「レポートの集計オブジェクトでは、グループ内の連続番号を設定します。」
#集計グループ連番が明細で使えないのが不思議だったのですが、
前からある関数で対応してたからなんですね。

でも、それなら「フォームとレポートのヘッダとフッタに指定した場合の結果は不定です。」
なんて言わずに#連番をヘッダやフッタに置けるようにすれば、
#集計グループ連番なんていらないような気がしますねえ。
ヘッダに集計オブジェクトが置けないのかな?
23767 Re:レポート内の連番について 悲しげ 2003/12/06-23:05
記事番号23758へのコメント
>#連番を指定しているレポートオブジェクトをテキストより集計に直します。

いやぁ、こんなことができたんですね、知らなかったです。
よかったですね>考え中さん。

ちなみに#23736でwroteの
>#代入(&秒,#条件選択(#直前値([担当者],"")<>[担当者],1,1,&秒+1))
ですが、「#直前値」関数はそもそもレポートでは使えませんでした(桐から叱られた)。(^^;)

23776 Re:レポート内の連番について ほりかわ 2003/12/08-13:07
記事番号23717へのコメント
どうも、こんにちは。
もう、解決されているかもしれませんが、
せっかくなんで書いておきます(まとめたという程度の内容かもしれません・・・)。

> 担当者がAからBへ変わった時点で出力されるとき、
> レポート内の連番はAからの続きになってしまいます。
> つまり、担当者Aの取り扱う物品が30個であれば、
> 連番は1〜30まで振られますが、担当者Bの出力の際、
> 同じtblファイルなので、連番が初期化されず、
> 担当者Bの連番は31からはじまってしまうのです。
> これを改頁と同時に連番が1から始まるようにする(でき
> るだけ対象表であるtblをいじらずレポート上で自動的に完
> 結したい)には、どうすればよろしいでしょうか。

担当者を集計グループに指定(ex.小計)し、
明細セクションに集計オブジェクト(ex.小計)を作成し
ソースに「#連番」または「#R([物品])」のように指定する。
[部品]は項目名であれば何でも構いません。
担当者が変わると1に初期化されます。

式入力画面で桐関数−フォーム・レポート -「 #R(item)」で指定可能。
式入力画面で桐関数−その他- 「#連番」で指定できます。

蛇足:これらの記述はDOS版から現在の版までも当てはまります。

桐9-2004のヘルプの記述をみると、レポートの[集計]オブジェクトには
「レベル2、3:#順位と#連番は単独で指定できます。」となっています。
多少わかりにくいかもしれませんが、一度理解してしまえばなんてことはないのかもしれません。

桐9-2004のヘルプのフォーム・レポートの「#連番」の説明は
明細セクションの集計オブジェクトに指定すると、同一グループ内の連番を求めることができます
(グループが変わると1にリセットします)。
となっています。
23778 Re:レポート内の連番について ほりかわ 2003/12/08-14:27
記事番号23776へのコメント
自分のコメントにリプライです。

>担当者を集計グループに指定(ex.小計)し、
>明細セクションに集計オブジェクト(ex.小計)を作成し
>ソースに「#連番」または「#R([物品])」のように指定する。
>[部品]は項目名であれば何でも構いません。
>担当者が変わると1に初期化されます。


#R([物品])」は項目値が同じだと同じ値になってしまいます。
「#連番」を使います。


担当者を集計グループに指定(ex.小計)し、
明細セクションに集計オブジェクト(ex.小計)を作成し、
ソースに「#連番」を指定してください。
式入力画面で桐関数−その他- 「#連番」で指定できます。


23784 Re:レポート内の連番について 考え中 2003/12/08-16:30
記事番号23717へのコメント
>#連番を指定しているレポートオブジェクトをテキストより集計に直
>します。
>このときデフォルトで総計が設定されますのでこれを[担当者]と同じ
>小計か中計に直すとうまくいくんじゃないかな....

こんにちわ。
みっち様、目からウロコが落ちました。完璧にできました。
ありがとうございました。
悲しげ様、うにん様いつも貴重なアドバイスをありがとうございます
。大変参考になりました。
ありがとうございました。
(考え中)

23785 Re:レポート内の連番について 考え中 2003/12/08-16:36
記事番号23784へのコメント
すいません、あと、ほりかわ様に御礼を忘れておりました。
ただ、私の桐はまだただのVer9なので、2004はもしかすると同じでないのかもしれません。
貴重なアドバイスをいただき、ありがとうございました。
(考え中)

戻る