過去の桐井戸端BBS (桐ver.8)
23645 メインサブフォームは最大4階層まで定義できるとのことですがどうやって作るのでしょうか トッポ 2003/12/03-11:27
メインサブフォームでサブフォームの中に更にもう一段階サブフォームを作る場合について質問いたします。
メインサブフォームはたびたび使っているのでわかるのですが、サブフォームの中にもう一つサブフォームを作ることができません。
桐ver.8のフォームのマニュアルには最大4階層まで定義できると書いてあるのですが、
作り方もリンク方法もわかりません。

[伝票],[品名],[規格],・・・・等の項目のうち、
同じ[伝票]の中に幾つかの[品名]があり、同じ[品名]の中に[規格]が幾つもあるという一般的なケースです。
メインフォームでは[伝票]
サブ1フォームでは[品名]
サブ2フォームでは[規格]
でグループ化したいのですが、
メインフォームとサブ1フォームをカード形式、サブ2フォームを一覧表形式にするしか方法はなく、
どうしてもうまくいきません。
このようなことは無理なのでしょうか。
どなたか教えてください。お願いします。

23651 Re:メインサブフォームの階層について アックン 2003/12/03-13:22
記事番号23645へのコメント
トッポさん、こんにちは。
サブ1フォームを定義で開きます。
メニューの「表示」→「ツールバー」→「フォームツールパレット」として、フォームを設定するツールを、
定義画面にアイコンで表示しておきます。

たくさんのアイコンの中の、青色の四角形に黄色のプラス(+)のアイコンが、サブフォームです。
アイコンにマウスをあてると「サブフォーム」と表示します。
このアイコンをクリックして、サブ1フォームの上でクリックすれば、
サブフォームオブジェクトが配置されます。
ラベルやテキストなどの各種オブジェクトをマニュアル操作で作成するときのやり方と一緒です。
配置したサブ2フォームの「オブジェクトの属性」→「サブフォーム」(タブ)で、各種設定をします。
【リンク元サブフォーム】をサブ1フォーム、【グループ値リスト】を [品名] などと指定しますが、
詳しくはその画面の右上の?をクリックして、ヘルプを読んでください。

>同じ[伝票]の中に幾つかの[品名]があり、同じ[品名]の中に[規格]が幾つもある
 それでしたら、サブ1フォームがカードだと用をなさないと思うので、
一覧表にして、明細行の[品名]のデータで、サブ2フォームとリンクさせて、[規格]を表示すればいいと思います。
が、それとは違うことを考えていらっしゃるのかな。
23662 Re:メインサブフォームの階層について トッポ 2003/12/03-18:13
記事番号23652へのコメント
アックンさん  早速ありがとうございます。
基本的にサブフォームの中に更にサブフォームを定義することが不可能なのでしょうか?
4階層までできるということはそういうことだと思うのですが。
ただ、一覧表形式のサブフォームを二つ以上配置するには、メインフォーム上に二つとか三つのサブフォームを
並べるしかないことになりますよね。
それをどのようにリンクすれば良いのでしょうか。
いろいろやってみたけど、うまくいきません。
何か方法があれば教えてください。

23663 Re:メインサブフォームの階層について 悲しげ 2003/12/03-19:19
記事番号23662へのコメント
どもっ、トッポさん

サブフォームが4階層までできることは知らなかったので(^^;)、一寸試してみましたが、できますよ。
一覧表wfmでもできないことはありませんが、どちらかと云うと(最後のwfm以外は)伝票wfmで試した方が判りやすいので、
改めて伝票の方で試してみたらいかがでしょう。
伝票wfmだと、定義画面で枠が縦に広がって表示されるので、直観的に
そこに任意の大きさのサブフォームオブジェクトを貼り付けやすいと思います。
一覧表wfmの方だと、サブフォームオブジェクトを縦長に枠をはみ出すように設定したらできましたが、
何だかやってて凄く違和感がありました。(^^;)

ちなみに、サブフォームの設定やリンク方法(「グループ値リスト」項目の設定)は1階層のメイン&サブと全く同じです。

23664 Re:メインサブフォームの階層について アックン 2003/12/03-19:21
記事番号23662へのコメント
トッポさん> 
見本を補完BBSにアップしました。
ダウンロードファイルは 59.LZH です。
ぼくの言葉の説明が最初にあっても、わかりにくいと思いますから、見本をよく見てくださいね。
と言っても、表の数や構造等がわからないこともあって、また、どのような画面表示にしたいかなども、
ぼくにはわからないので、作りたいものとは違いがあるとは思いますが、それはまた続けて質問
してもらえれば回答しますので、たちまちはリンクの仕方なり設定を研究してもらえればと思います。

なお、前回、リンク元サブフォームを指定するとぼくが書いたのは、間違いでした。
そこは空欄のままにしておいてください。これは、メインフォーム上の他のサブフォームをリンク元
にするときに設定するのだったと思います。どうもすみませんでした。m(__)m

>基本的にサブフォームの中に更にサブフォームを定義することが不可能なのでしょうか?
いいえ、そうではないんですよ。階層化できます。(^^)

>ただ、一覧表形式のサブフォームを二つ以上配置するには、メインフォーム上に二つとか三つのサ
>ブフォームを並べるしかないことになりますよね。
いいえ、サブ1フォーム(一覧表)の中にサブ2フォーム(一覧表)を配置できます。
見本はそのようにしましたが、トッポさんが実現したいスタイルなりデザインとは違うかもしれませんから、
一覧表でいいかどうかは検討してみてください。

>それをどのようにリンクすれば良いのでしょうか。
基本的なところは、階層がない普通のメインサブフォームのリンク設定と同じです。

メインフォームとサブフォームのリンクの設定は、メインフォームの編集対象表の項目をグループ値に設定しますよね。
(変数や計算式を使うこともできますが、ここでは一般的な説明をします。)
グループ値は、メインフォームに配置したサブフォームオブジェクトの「オブジェクトの属性」画面の
サブフォーム(タブ)の「グループ値リスト(L)」で設定します。
サブフォーム上に配置したサブフォームとのリンクの設定も、同様の設定方法です。

サブ1フォームとサブ2フォームを定義画面で開いて、よく見てください。
ヘッダにグループオブジェクトを配置しています。これは、グループ状態にするためです。
これがないとサブフォームが動きませんよ。
これをフォームに表示するとじゃまですから、オブジェクトの属性画面の表示(タブ)で、表示しない・フォーカス禁止に設定してあります。

サブフォームを階層化するときには、深い階層にあるメインフォームから先に自動作成すると、
幾分やさしくなると思うのですが、たいていは先に最も上の階層のメインサブフォームを作ってから、
後でさらにもうひとつ深い階層のサブフォームを手動で作成することが多いですね。
こうなると、フォームを定義し直す作業がけっこうたいへんで、頭もこんがらがってくることが多いです。
(ぼくだけかいな...)(^^;

23665 Re:メインサブフォームの階層について アックン 2003/12/03-19:29
記事番号23663へのコメント
悲しげさん、フォローどもありがとさんです。寒くなりましたね。

>サブフォームが4階層までできることは知らなかったので(^^;)、一寸
え”。冗談でしょ。(^^;

>一覧表wfmでもできないことはありませんが、どちらかと云うと(最後
>のwfm以外は)伝票wfmで試した方が判りやすいので、改めて伝票の方
>で試してみたらいかがでしょう。
それもいいかも。

>一覧表wfmの方だと、サブフォームオブジェクトを縦長に枠をはみ出す
>ように設定したらできましたが、何だかやってて凄く違和感がありま
>した。(^^;)
悲しげさんはヘビーな伝票使いですもんね。(^^)

>ちなみに、サブフォームの設定やリンク方法(「グループ値リスト」
>項目の設定)は1階層のメイン&サブと全く同じです。
ピンポン! どもサンキューです。


23669 Re:メインサブフォームの階層について 悲しげ 2003/12/03-20:25
記事番号23665へのコメント
そうか、アックン君は、それぞれのフッタ部に、即ち縦にサブフォームを階層展開するイメージだったんですね。
おそらくトッポさんの意図もそうだと思えて来ましたが、折角作ったので別解釈モノも挙げておきます

これは、伝票wfmを使って明細部において横展開しています。

補足
各グループ項目オブジェクトは「表示」タブから「画面表示」のチェックを外して表示させないようにしています。
メインフォームでは、メインの表を[伝票No]について単一化絞り込みさせるようにしています(単一化条件を設定)。
元来の用途外なのかもしれませんが、与えられた表データからはこうしないと階層が下がらなかったもので。(^^;)
メインフォームとサブフォーム1は、ひとつの表を対象表としているので、
「編集対象表」タブ/「許可作業」牡丹から「多重化」を許可すべくチェックをいれてあります。

ps.
複数階層のサブを試したのは、マジで今回が初めてでごわす。>アックン君

23672 Re:メインサブフォームの階層について トッポ 2003/12/03-22:16
記事番号23664へのコメント
アックンさん  悲しげさん
補完BBSにまでアップしていただいてありがとうございます。
私のやりたかったことができているので感動しました。
初めて投稿して、こんなに早く解りやすいご返事をいただいて本当にありがとうございました。
やり方については、これからじっくり拝見して勉強させていただきます。
またわからないところを質問するかもしれませんがよろしくお願いいたします。

23685 Re:メインサブフォームの階層について アックン 2003/12/04-09:42
記事番号23669へのコメント
悲しげ君> やっほ。いいのができてますね。こういう横に展開するスタイルもいいですねー。
ぱっと見ための違いといえば、サブフォームをヘッダに配置するかフッタにするかくらいですね。
一覧表でも伝票でもグループ化している点で同じだし、表示データの違いは、
表のデータの持ち方や編集対象表の持ち方次第だし、それらはどのようにでもなることかと。
ということは、一覧表・伝票・カード等を任意に組み合わせて、さらに配置場所にヘッダかフッタをそれぞれ選べるわけだから、
フォーム設計にかなり自由度ができるってことですよね。(^^)v

23707 Re:メインサブフォームの階層について 悲しげ 2003/12/04-17:17
記事番号23685へのコメント
どもっ、アックン君

>ぱっと見ための違いといえば、サブフォームをヘッダに配置する
>かフッタにするかくらいですね。

あ、そうですね、私の説明は正しくなかったです。
いえ、サブフォームを最初は明細部に設定して試してんですよー。
そうしたら何だかちょっと位置的なバランスがよくなかったんで
今度はヘッダ部に置いてから縦にビロ〜ンと広げたのでした。
この変更に触れるのを忘れていました。(^^;)

ちなみに、このやり方は一覧表フォームでも同じことなのですが、
フォーム定義時にサブフォームを配置するに際して、一覧表だと
明細行がふつうは1行分しか画面に現われないので、視覚的には
伝票フォームの方が判り易いので、今回の横展開例としては後者を
採用したと云うことであります。>トッポさん

戻る