過去の桐井戸端BBS (桐ver.8)
18762 レポート作成でひとつのオブジェクトに複数のソース(項目)を指定することはできますか みっしー 2003/01/30-21:12
こんばんは。はじめまして。VER.8の桐を使っています。
初心者でわからない事が多く、ほんとに出来るのかそれさえも判断がつきかねている状態です。
それで、このBBSに質問することにしました。

質問は、レポートを作成していて、オブジェクトにソースとして、
表から複数の項目を組み込むことができ、
かつ、指定箇所で改行させることができるのか?
ということです。

過去ログから改行はできるのでは?と思い、
強制改行文字に「↓」を指定してこんな感じで入力してみましたが
出来ませんでした。

EX.
[商品1]+" "+[数量1]+[単位量1]+"↓"+[商品名2]+" "+[数量2]+[単位量2]

そもそも複数の項目を持ってくることがだめなんでしょうか?

なぜ、こんなことをしたのかということ、一覧だと項目は横に全て並んでしまいますが、一部は縦したいのです。
そこで、タイルの中にオブジェクトとして1項目ずつ設置させました。
ところが、その場合、項目が1から5まであったとして、その全てにデータがあるとは限りません。
で、無駄な余白が出来すぎてしまうのです。
こんな感じです。

EX.
レコード1 あああ  111 個
       いいい  222 個
       ↑

     無駄な余白
 
       ↓
レコード2 ううう  333 個



印刷すべき文字のないところをつめて、印字してくれれば言うことないのですが。。。

長くなりましたが、どなたかどうぞお知恵をお貸しください。
よろしくお願いいたします。

18763 Re:レポート作成でオブジェクトに複数ソース 悲しげ 2003/01/30-21:41
記事番号18762へのコメント
どもっ、みっしーさん

[商品1]+" "+#文字列([数量1])+[単位1]
+#条件選択([商品名2]<>"","↓"+[商品名2]+" "+#文字列([数量2])+[単位2])
+#条件選択([商品名3]<>"","↓"+[商品名3]+" "+#文字列([数量3])+[単位3])
+#条件選択([商品名4]<>"","↓"+[商品名4]+" "+#文字列([数量4])+[単位4])
+・・・・・・・・・

のようにすれば、当座はしのげると思います。

ただし、

>そこで、タイルの中にオブジェクトとして

と云うのは疑問です。
こういう場合「タイル」オブジェクトは使わないはずです。
単なる「テキスト」オブジェクトでいいと思います。

さらに云えば、そもそも表の項目の持ち方としては、このように横長にするよりも
 [商品] [数量] [単位]
のような構成にして、縦長に入力して行く方が諸々の面で簡単かつ有利かと思います。

18768 Re:レポート作成でオブジェクトに複数ソース 佐田 守弘 2003/01/30-22:13
記事番号18762へのコメント
みっしーさん

 >そもそも複数の項目を持ってくることがだめなんでしょうか?
と書かれていますが、「複数の項目を持って来る」でなく、「複数の項目からなる計算式をソースに指定する」だけの事で、
一般的に行っている方法です。

基本的に質問に書かれている様な計算式でよいわけなのですが、
巧く改行できないのだとすると、恐らく強制改行文字回りの設定で何か設定忘れがあるのではないかと思われます。

●とは言え・・・
悲しげさんが書かれている通り、商品1〜nのデータを1レコードに記録するのは、
データベースとして好ましい方法ではありません。
良く、「表の正規化」などと呼ばれる概念ですが、簡単にいえば、次の様に表を設計します。
売上マスタ:売上1件を1レコードして、日付や売り先などを記録。
商品の明細は記録しない。
売上明細:上記売上1件を構成する複数の商品を、商品ごとに1レコードで記録する
売上マスタのIDに相当する情報を持ち、売上マスタとの関連付けを行う。

詳しい事は、桐ver.5時代に作成した記事ではありますが、考え方は同じですので、
以下を参考にしてみて下さい。

http://www.ne.jp/asahi/m.sada/kiri/KIRI5/NORML1.html

佐田守弘(KS-00119)
18901 Re:レポート作成でオブジェクトに複数ソース みっしー 2003/02/09-22:21
記事番号18762へのコメント
こんばんは。レスが遅くなりましたが、
悲しげさん、佐田さん、コメントありがとうございました。

悲しげさんに教えていただいたように
>[商品1]+" "+#文字列([数量1])+[単位1]
>+#条件選択([商品名2]<>"","↓"+[商品名2]+" "+#文字列([数量2])+[単位2])
>+#条件選択([商品名3]<>"","↓"+[商品名3]+" "+#文字列([数量3])+[単位3])
>+#条件選択([商品名4]<>"","↓"+[商品名4]+" "+#文字列([数量4])+[単位4])
>+・・・・・・・・・

を試してみましたが、うまくいきません。
表からレポートを選んで表示させると式がおかしいというようなエラーが出ます。

知識不足で式の意味が上手く理解できていないせいもあります。

[商品1]+" "+#文字列([数量1])+[単位1]+#条件選択([商品名2]<>"","↓"+[商品名2]+" "+#文字列([数量2])+[単位2])

この中の『[商品名2]<>""』までが条件で商品名2が空白ならばという意味でよいのでしょうか?

で、『"↓"+[商品名2]+" "+#文字列([数量2])+[単位2])』の部分が
改行して商品名2と空白と数量2と単位2を記述しなさいという意味だと思うのですが、
薬品名2が空白の場合には逆に表示させたくないわけですが、
こんがらがってきて、わからなくなってしましました。
よろしければ、もう少し詳しくこの式の意味を教えていただけると助かります。

それから、お二人共に言われたことですが、
そもそものこの表のデータの持ち方を考え直すべきなのでしょうが、
商品1や2はセット品のようなもので、組み合わせは様々ですが、
もちろん単独で出ることもあるし、セットで出ることもあるという感じで、
しかも、セットで出ていることが明確にわかることが重要なのです。
そのため、1データにどうしても複数商品を登録するようにしたかったのです。
1データに1商品で、それぞれの商品のセットの組み合わせがわかるように
登録できれば、それが一番よいのでしょうが、、、、

レスがまた遅くなるかもしれませんが、どうぞよろしくご教授ください。
お願いいたします。

18902 Re:強制改行文字を条件選択式で 悲しげ 2003/02/10-00:11
記事番号18901へのコメント
どもっ、みっしーさん
まず

>[商品1]+" "+#文字列([数量1])+[単位1]
>+#条件選択([商品名2]<>"","↓"+[商品名2]+" "+#文字列([数量2])+[単位2])

の意味から書きます。
これは

>『[商品名2]<>""』までが条件で商品名2が空白ならばという意味

逆です。これは「[商品名2]が未定義(空白)でなければ」の意味です。
「空白ならば」なら [商品名2]="" のように書きます。
( [商品名2]=#未定義 とか [商品名2]=#U と書くこともあります)
その逆としての [商品名2]<>"" と云う条件の記述です。
( <> は不等号 ≠ と同じ意味です)

で、上記計算式を通して日本語で云えば
先ず、商品1について数量と単位を付けて出す。
次に、商品2が存在すれば頭に改行文字を付けてから品名・数量・単位を出す。
同様に商品3が存在すれば・・・・以下同上。
……と云うことになります。

うまく行かないのは、多分単なる記述ミスだと思います。

>式がおかしいというようなエラーが出ます。

このエラーの文言を一字一句メモして挙げてみて下さい。それと、できれば、
一般化しないでナマのままの計算式をここに挙げてみて下さい
(書き換え作業時のケアレスミスのような気がしますので)。
そうすれば間違っているところが直ちに判ると思います。(^^)



複数の商品をセットで──の意味するところがよく判りませんが、表のデータとしては、
例えば次のような感じも有り得ます。
[セット名] [商品名] [数量] [単位]
セットA  あああ   10   箱
セットA  いいい   20   枚
セットA  ううう   15   個
セットB  あああ   30   箱
セットB  けけけ   10   本


「薬品名」と有ったから、ひょっとして同業かな?(^^;)
18923 Re:強制改行文字を条件選択式で みっしー 2003/02/11-01:31
記事番号18902へのコメント

悲しげさん、早速のレス、ありがとうございます。

>逆です。これは「[商品名2]が未定義(空白)でなければ」の意味です。
>「空白ならば」なら [商品名2]="" のように書きます。
>( [商品名2]=#未定義 とか [商品名2]=#U と書くこともあります)
>その逆としての [商品名2]<>"" と云う条件の記述です。
>( <> は不等号 ≠ と同じ意味です)

式の意味、わかりました。もう一度チャレンジしてみます。
次にやってみてまたエラーがでるようだったら、そのときには
エラーの内容をメモして、また、しつもんさせていただきます。

>「薬品名」と有ったから、ひょっとして同業かな?(^^;)

たぶん、というかまちがいなく同業者かもしれませんね。(*^.^*)エヘッ
むかしに、FDRUGあたりでお世話になったように思います。
その節もありがとうございました。

とにかくも、もう少し頑張ってみます。


戻る