過去の桐井戸端BBS (桐ver.9)
21329 メイン&サブフォームで自己表引きの様な事は出来ますか? しぼうかん 2003/07/08-20:04
また質問させて下さい。
いつものごとくうまく説明するのが難しいので今回は同じ質問をA,Bの2パターンで説明してみました。

どちらかわかりやすい方の質問に答えて頂ければいいのですが、
どちらも「おまえのいうことはわからん」というときはわからないところをいってもらえば助かります。


Aパターンの説明と質問です。

受注.wfm(受注.tbl)の行挿入終了イベントで、まず[社名]を&社名に[連番]を
&連番に代入してから、メインフォームが、発注.wfm(受注.tbl)、サブフォームが、
進行状況.wfm(発注明細.tbl,ヘッダ部にはグループ項目[社名]が有り、
明細部には[資料作成]と[完了]というオブジェクトが有り、繰り返し数は5です)からなるメイン&サブフォームを開き、
メインフォームを検索 [社名]{[社名]=&社名,[連番]<&連番で検索して、
もし値が見つかった場合その"社名"でグループ化されたサブフォームの[資料作成]の値と[完了]の値を
全て&資料作成1,&完了1,&資料作成2,&完了2……に取り、受注.wfmの[社名]を&社名で絞り込み、
一緒に絞り込まれたサブフォーム進行状況.wfmの[資料作成]の値を&資料作成1,&資料作成2,…で置き換え、
[完了]の値を&完了1,&完了2,……の変数で置き換えする事は出来ますか?


Bパターンの説明です。

作業のイメージは作業行程管理なのですが、例えるならK3社の注文に対して
A5用紙の中間資料"K3あ"を作り、次にA5用紙の中間資料"K3い"を作り、
次に中間資料"K3う"を作り、最後に中間資料"K3え"を作り、
一緒に並べてA3用紙のコピーを取り最終資料"K3お"を作る。

この資料"う"をさらに必要枚数分コピーをとってK3社用の商品として送付する。

K3社からは追加の注文が出る場合が有るがその場合は必ず資料"お"を追加注文分コピーをとって送付する。

中間資料"K3あ","K3い","K3う","K3え"はそれぞれ作成に日にちが掛かり、
作成中に追加注文が入る事がたびたびあります。

その場合最初の注文の資料作成が中間資料の"K3あ"と"K3う"
まで完了していた場合、次の追加注文が入った時に[資料作成]の欄に"K3
あ"と"K3い"が完了している様に自動的に入力させたいのですが、
まず最初の部分でつまずいています。

Bパターンの質問です。

受注.wfmの4行目の[社名]に"K3"を入力し行挿入終了イベントを発生させた場合、
コマンドの中で、受注.wfmを多重化させて開き、4行目に追加された[社名]=K3のレコードで
グループ化された進行状況.wfmの[資料作成]と
[完了]の1行目には"K3あ"と"0605"を2行目には"K3う"と"0606"を
入力したい(フォーム表示Bの様に表示できる様にしたい)のですが、
この様な処理は可能でしょうか。

21330 表と操作のイメージです。 しぼうかん 2003/07/08-20:05
記事番号21329へのコメント
フォーム
受注.wfm(受注.tbl)

連番|社名|
−−−−−−−−−−−
 1|K3|
−−−−−−−−−−−
 2|MS|
−−−−−−−−−−−
 3|FM|
−−−−−−−−−−−
 4|K3|←この行を入力後、行挿入終了イベントを
−−−−−− 発生させた場合に


フォーム表示A


 メインフォーム←|→サブフォーム
発注.wfm(受注.tbl)|進行状況.wfm(進行状況.tbl)

−−−−−−−−−−−−−−−−−
         |連番|社名| 
−−−−−−−−−−−−−−−−−
         | 1|K3|
−−−−−−−−−−−−−−−−−−
連番|社名|   |資料作成|完了|
−−−−−−−−−−−−−−−−−−
 1|K3|   |K3あ |0605|
−−−−−−−−−−−−−−−−−−
 2|MS|   |K3う |0606|
−−−−−−−−−−−−−−−−−−
 3|FM|   |    |  |
−−−−−−−−−−−−−−−−−−
  |  |   |    |  |
−−−−−−−−−−−−−−−−−−
  |  |   |    |  |
−−−−−−−−−−−−−−−−−−

上記はカーソルがメインフォームの1行目にある場合のメイン&サブフォームの表示です。



フォーム表示B(メインフォームの4行目を入力した時にサブフォームにこんな風に自動入力させたい)


 メインフォーム←|→サブフォーム
発注.wfm(受注.tbl)|進行状況.wfm(進行状況.tbl)

−−−−−−−−−−−−−−−−−
         |連番|社名| 
−−−−−−−−−−−−−−−−−
         | 4|K3|
−−−−−−−−−−−−−−−−−−
連番|社名|   |資料作成|完了|
−−−−−−−−−−−−−−−−−−
 1|K3|   |K3あ |0605|
−−−−−−−−−−−−−−−−−−
 2|MS|   |K3う |0606|
−−−−−−−−−−−−−−−−−−
 3|FM|   |    |  |
−−−−−−−−−−−−−−−−−−
 4|K3|   |    |  |
−−−−−−−−−−−−−−−−−−
  |  |   |    |  |
−−−−−−−−−−−−−−−−−−

上記はカーソルがメインフォームの4行目にある場合に表示したいメイン&サブフォームの表示です。
21339 Re:メイン&サブフォームで自己表引きの様な事は出来ますか? 悲しげ 2003/07/08-22:34
記事番号21329へのコメント
どもっ、しぼうかんさん

お答えではありませんが、(^^;)

>どちらかわかりやすい方の質問に答えて頂ければいいのですが、どちらも「お
>まえのいうことはわからん」というときはわからないところをいってもらえば
>助かります。

え〜、世に「どこが判らないかも判らない」などと云う言い方がございます。
書かれたものを読ませて戴いて、その理由を考えてみました。
で、ひとつだけ気が付いたことがありますので、それを書かせて戴きます。

>受注.wfm(受注.tbl)の行挿入終了イベントで、まず[社名]を&社名に[連番]を
>&連番に代入してから、メインフォームが、発注.wfm(受注.tbl)、サブフォー
>ムが、進行状況.wfm(発注明細.tbl,ヘッダ部にはグループ項目[社名]が有
>り、明細部には[資料作成]と[完了]というオブジェクトが有り、繰り返し数
>は5です)からなるメイン&サブフォームを開き、メインフォームを検索 [社
>名]{[社名]=&社名,[連番]<&連番で検索して、もし値が見つかった場合そ
>の"社名"でグループ化されたサブフォームの[資料作成]の値と[完了]の値を
>全て&資料作成1,&完了1,&資料作成2,&完了2……に取り、受注.wfmの[社名]を
>&社名で絞り込み、一緒に絞り込まれたサブフォーム進行状況.wfmの[資料作
>成]の値を&資料作成1,&資料作成2,…で置き換え、[完了]の値を&完了1,&完了
>2,……の変数で置き換えする事は出来ますか?

この部分は延々11行に亘っていますが、何とこれでひとつづきのセンテンスなのですね。
何だか目がチカチカしてしまいます。(^^;)
こおゆう場合は、なるべく短文に区切って書くと、判りやすくなる可能性が上がります。
例えば

▼受注.wfmが有り、その編集対象表は受注.tblです。
▼受注.wfmには行挿入終了イベントを設定しています。
▼行挿入終了イベントでは、まず[社名]を&社名に、[連番]を&連番に代入。
▼メインフォームが、発注.wfm(受注.tbl)です。
▼サブフォームが、進行状況.wfm(発注明細.tbl)です。
▼サブフォームのヘッダ部にはグループ項目[社名]が有ります。
▼サブフォームの明細部には[資料作成]と[完了]という・・・・

つー感じとか?


21353 Re:メイン&サブフォームで自己表引きの様な事は出来ますか? うにん 2003/07/09-17:08
記事番号21329へのコメント
>中間資料"K3あ","K3い","K3う","K3え"はそれぞれ作成に日にちが掛
>かり、作成中に追加注文が入る事がたびたびあります。

>その場合最初の注文の資料作成が中間資料の"K3あ"と"K3う"
>まで完了していた場合、次の追加注文が入った時に[資料作成]の欄に"K3
>あ"と"K3い"が完了している様に自動的に入力させたいのですが、まず最初
>の部分でつまずいています。

追加注文が入った後に中間資料が作成完了した場合、最初の注文と追加注文の
両方に同時に[完了]が入るんではないですか?
そうだとしたら、リンクのさせ方の問題で、入力というか行追加をする問題ではないですよね。

21354 説明の説明? しぼうかん 2003/07/09-20:03
記事番号21339へのコメント
悲しげさん、いつもお世話になっています。&いつもご迷惑お掛けしています。

投稿前に推敲をするようにはしているのですが、
投稿直前に付け加えた文章なので、推敲し忘れて
かなり読みづらい文章を書いてしまいました。

少し横着して、悲しげさんがまとめて頂いた説明を流用させて頂き、追加説明します。


▼受注.wfmが有り、その編集対象表は受注.tblです。
▼受注.wfmには行挿入終了イベントを設定しています。
▼行挿入終了イベントでは、まず[社名]を&社名に、[連番]を&連番に代入。
▼メインフォームが、発注.wfm(受注.tbl)です。
▼サブフォームが、進行状況.wfm(発注明細.tbl)です。
▼サブフォームのヘッダ部にはグループ項目[社名]が有ります。
▼サブフォームの明細部には[資料作成]と[完了]という項目が有ります。
▼サブフォームの繰り返し数は5です。
▼メインの[社名]に入力された値を変数に取り、その変数で多重化フォームを検索する。
▼検索した[社名]でグループ化されたサブフォームの値を変数に取る。
▼その変数で行挿入が終了したばかりのメインフォームの[社名]でグループ化されたサブフォーム
の[資料作成]と[完了]を書き換える様な事がしたいのです。

これで少しはわかりやすくなったのでしょうか?
21355 リンクのさせ方の問題とは何でしょう? しぼうかん 2003/07/09-20:08
記事番号21353へのコメント
うにんさん、返信ありがとうございます。


>追加注文が入った後に中間資料が作成完了した場合、最初の注文と
>追加注文の両方に同時に[完了]が入るんではないですか?


その通りです。

その場合に考えている処理方法は、まずサブフォームの行挿入終了イベント又は
行訂正終了イベントで[社名]と[完了]と[資料作成]の値を変数にとります。

そしてサブフォームを多重化したフォームの[社名]を&社名で絞り込み
[完了]と[資料作成]に&完了と&資料作成を代入出来ないかなと考えています。

多重化したメインフォームで検索した[社名]の値でグループ化した
サブフォームの値を変数に取る方法でつまずいていて、まだサブフォームに作る
イベント処理までやってはいないのですが・・・


>そうだとしたら、リンクのさせ方の問題で、入力というか行追加をする問題では
>ないですよね。


すいません意味が分からないのですが、リンクのさせ方の問題とは
どういう意味でしょうか?
解決のヒントになる様な何か別の方法があるのでしょうか?


21356 Re:リンクのさせ方の問題とは何でしょう? うにん 2003/07/09-21:00
記事番号21355へのコメント
う〜ん、つまりですね、

>>追加注文が入った後に中間資料が作成完了した場合、最初の注文と
>>追加注文の両方に同時に[完了]が入るんではないですか?
>
>その通りです。

ということは、最初の注文についての[資料作成][完了]と追加注文についての
それを、別々の行にする必要が感じ取れないのです。同じデータをコピーしたい
という話のようですし。

>すいません意味が分からないのですが、リンクのさせ方の問題とは
>どういう意味でしょうか?

ここまでに出てきた項目ではどうも理解できてないのですが、
[社名]でグループ化しているとしたら、それ自体がいわゆる製品に相当し、
[資料作成][完了]はその行に1対1で対応するもので、最初の注文時に
[社名]と同時に1回だけ入力されればいいのでは?
注文のたびに行追加されるべきなのは[注文日]や[注文数]か何かではないでしょうか?

同じデータであるならば、グループ項目の方に存在すればコピーするまでもないので、
「リンクのさせ方」というのはちょっと用語が変だったかもしれません。
つまりは「表と項目の構成」ということなんですが。
製品.TBL
[社名]
[資料]
[完了]
注文.TBL
[社名]
[注文日]
[注文数]
という感じ?

21357 Re:説明の説明? 悲しげ 2003/07/09-21:20
記事番号21354へのコメント
どもっ、しぼうかんさん

>これで少しはわかりやすくなったのでしょうか?

う〜ん、正直云って少しだけね。(^^;)
で、根本的に疑問なのですが、「受注.wfm」と「発注.wfm」(メインフォーム?)
の関係ってのは何なのでしょう?

21367 受注.wfmと発注.wfmの意味 しぼうかん 2003/07/10-18:45
記事番号21357へのコメント
ああ、又説明漏れと説明ミスが有りました、すいません。(^_^;)

>「この資料"う"をさらに必要枚数分コピーをとって
>K3社用の商品として送付する。」


正しくは

「この最終資料"K3お"をさらに必要枚数分コピーをとって
K3社用の商品として送付する。さらにこの作業名は"K3か"とする
また、進行状況.wfmのグループ項目は[社名]だけでなく[連番]もでした。」



>根本的に疑問なのですが、「受注.wfm」と「発注.wfm」(メインフォーム?)の関
>係ってのは何なのでしょう?


受注.wfm(受注.tbl)の主な目的は、


1.受注が発生した時に受注内容(社名,住所,数量,他)を受注.tblに入力します。

2.社内で受注伝票と入力内容を照らし合わせてチェックする為に受注データを
  一覧表形式で印刷する。

3.社内チェックでOKになった受注商品を発送する為の伝票
  (商品送付案内書や運送会社の伝票)を印刷する。

の3点です。


メインフォームの発注.wfm(受注.tbl)の目的は


1.サブフォームの進行状況.wfmを入力しやすくする為に、今入力中なのは、
  どの受注データなのかを表示させてミス入力を防ぐ事


2.受注データの中間資料は現在どこまで出来ているのかを調べる時に
  わかりやすく表示する為に進行状況.wfmと同時に表示させる事

の2点です。

※1-1
発注.wfmでは受注.wfmで入力したデータの書き換えは出来ないようにして有り、
つまり、主に表示確認用に使います。

※1-2
但し、受注.tblに有る、[現在の状況]と[現在の完了]という項目だけは、
受注.wfmでは入力しない(表示しない)で、発注.wfmでのみ表示すると同時に、
進行状況.wfmの行挿入や行訂正終了イベントで進行状況.wfmの
最終レコードの[資料作成]と[完了]の値を代入する様にしてあります。

※1-3
出来れば複数のメインフォームのレコードとそれぞれのレコードでグループ化された複数のサブフォームを同時に表示出来れば
一番いいのですが、以前うにんさんにもK3サポートでも出来ないといわれたので、
代わりの方法としてサブフォームの最終レコードのみをメインフォームに表示する様にしました。


悲しげさんの質問の趣旨がもし発注.wfmと進行状況.wfmだけでいいのになぜ受注.wfmが必要なのか?
という意味を含むのであれば、その理由は

受注.wfmの機能を発注.wfmに持たせると明細部のセレクション分割が減り、前後
のレコードの見通しが悪くなるからです。

なぜそうなるかというと、受注.wfm(受注.tbl)は入力項目が20ぐらいでセレクション分割が3になっているのですが、
サブフォームを表示するスペースがありません。

フォームの1レコードの入力項目を減らさずに進行状況.wfmを表示しようとすると、
画面上に2件しかレコードが表示されなくなり、かなり見通しが悪くなってしまいます。

また、進行状況.wfmは受注.wfmを入力し、社内チェックが完了した後に初めて入力するので、
受注.wfmを入力する時には進行状況.wfmを表示しても意味がありません。

そこで受注.wfmとは別に発注.wfmを作り、進行状況.wfmの入力に必要のない項目
(例えば[住所]や[電話番号]など)を受注.wfmから削除することによって、、画面表示スペースを確保出来ました。

これでセレクション分割が5に出来てデータの見通しが良くなりました。

こんな説明でどうでしょうか?
21368 もう一回説明にチャレンジです。 しぼうかん 2003/07/10-18:57
記事番号21356へのコメント
ああ、又説明漏れと説明ミスが有りました、すいません。(^_^;)

>「この資料"う"をさらに必要枚数分コピーをとってK3社用の商品として送付する。」


ここは正しくは

「この最終資料"K3お"をさらに必要枚数分コピーをとってK3社用の商品として送付する。
さらにこの作業名は"K3か"とする
進行状況.wfmのグループ項目は[社名]だけでなく[連番]もでした。」

という風に修正します。


[社名]が同じだから[資料作成]と[完了]が常に同じになるとは限らないのです。

K3社を例題として言うと[資料作成]で作る"K3あ"と"K3う"とかは"K3お"を
1部作る為の中間資料なので、K3社から追加注文が入った場合でも既に"K3あ"や
"K3う"や"K3お"を再度作る必要は無く、[社名]が同じで有れば[資料作成]と
[完了]は大抵は同じになります。
(追加注文時に"K3お"の内容が変更される場合もまれに有ります。)

しかし、1行目のK3の[資料作成]が"K3か"まで既に行われていた場合は、
4行目の追加注文時に再度"K3か"をする場合は[資料作成]に"K3か"と
[完了]に日付(例えば"0620")の様に入力しなければ成りません。

"K3か"で作られる数量はメインフォームで入力される[数量]と同じ数量なのです。

誤解を恐れずにまた別の例えをするなら進行状況.wfmで管理するのは、
型を使って作る湯飲み茶碗の社名入りのフタの受注フォームを作ると考えた方がわかりやすいのかもしれません。

湯飲みは自社で作り、フタは複数の他社(印刷と型作り別に)に作ってもらう場合かな?

"K3あ"から"K3お"までは型を作る作業で"K3か"は量産作業に当たると思います。

と言うわけなので、受注.tblに追加注文があった場合にリンクされたサブフォームに
自動的に代入する値は変更可能な状態で代入したいと思っています。


どうでしょうか?これで意味が通じるでしょうか?


 メインフォーム←|→サブフォーム
発注.wfm(受注.tbl)|進行状況.wfm(進行状況.tbl)

−−−−−−−−−−−−−−−−−
         |連番|社名| 
−−−−−−−−−−−−−−−−−
         | 1|K3|
−−−−−−−−−−−−−−−−−−
連番|社名|   |資料作成|完了|
−−−−−−−−−−−−−−−−−−
 1|K3|   |K3あ |0605|
−−−−−−−−−−−−−−−−−−
 2|MS|   |K3う |0606|
−−−−−−−−−−−−−−−−−−
 3|FM|   |K3お |0609|
−−−−−−−−−−−−−−−−−−
  |  |   |K3か |0616|
−−−−−−−−−−−−−−−−−−
  |  |   |    |  |
−−−−−−−−−−−−−−−−−−


K3社から追加注文が入った場合下記の様に
サブフォームに初期値として次の様に自動入力したい。



メインフォーム←|→サブフォーム
発注.wfm(受注.tbl)|進行状況.wfm(進行状況.tbl)

−−−−−−−−−−−−−−−−−
         |連番|社名| 
−−−−−−−−−−−−−−−−−
         | 4|K3|
−−−−−−−−−−−−−−−−−−
連番|社名|   |資料作成|完了|
−−−−−−−−−−−−−−−−−−
 1|K3|   |K3あ |0605|
−−−−−−−−−−−−−−−−−−
 2|MS|   |K3う |0606|
−−−−−−−−−−−−−−−−−−
 3|FM|   |K3お |0609|
−−−−−−−−−−−−−−−−−−
 4|K3|   |    |  |
−−−−−−−−−−−−−−−−−−
  |  |   |    |  |
−−−−−−−−−−−−−−−−−−

21372 Re:受注.wfmと発注.wfmの意味 悲しげ 2003/07/10-20:10
記事番号21367へのコメント
>悲しげさんの質問の趣旨がもし発注.wfmと進行状況.wfmだけでいいのになぜ受
>注.wfmが必要なのか?という意味を含むのであれば、

いえいえ、そのような意味は皆無です。それほど読み込んでませんし。(^^;)

#21354でwrote
>▼受注.wfmが有り、その編集対象表は受注.tblです。
>▼受注.wfmには行挿入終了イベントを設定しています。
>▼行挿入終了イベントでは、まず[社名]を&社名に、[連番]を&連番に代入。
>▼メインフォームが、発注.wfm(受注.tbl)です。

1〜3行目までが「受注.wfm」についての言及です。で、4行目が何の断りもなく、
あたかも3行目の続きのように「発注.wfm」と書かれているので、
ひょっとして4行目の「発注.wfm」は「受注.wfm」のタイプミス、あるいは1行目の
「受注.wfm」の方が「発注.wfm」のタイプミスなのかもしれないなどと思ってしまったのです。(^^;)
確かに#21330を改めて見てみると、タイプミスではなかったであろうことは読めますが、
すいません、私の関心が中身よりも文章の「判りやすさ」に傾いていたもので・・・・。(^^;)

ついでに云えば、このような場合は3行目と4行目の間に、例えば
「次に発注.wfmについて説明します。これは××××の目的で云々・・・」
のような一言があって4行目に続くのなら、上記のような誤読はしないで済んだと思います。

ちなみに、本題の中味の方はまだ理解できている訳ではありません。(^^;)(^^;)

21398 Re:もう一回説明にチャレンジです。 うにん 2003/07/13-19:59
記事番号21368へのコメント
う〜〜ん、あんまりよく理解できませんが、やりたいことは「グループ追加時に他のグループの行を複写する」ですよね?
色々やり方はありますがどうするのが効率がいいでしょうね。
多重化表を「保存しない」モードで開ければ、コピーしたいグループのグループ項目を追加したグループ値で置換して読み込めば
簡単そうですが、そういう多重化はできないみたいですし。
グループ化状態で読み込むときグループ項目を読み込まないと現在のグループ値になってくれるような機能もないようです。
行退避&行復旧で1行ずつ追加しつつグループ値を修正するか、
複写したい行をいったん一時ファイルに書き出して、グループ値を置換してから読み込むか、
グループ項目以外に#直前値()が設定してあれば、行追加でグループ項目だけ指定すればいいので比較的すっきりするかな?

21409 わかりにくい説明ですいません。まだ思考錯誤中です。 しぼうかん 2003/07/14-19:07
記事番号21398へのコメント

うにんさん、難解で分かりにくい説明をお読み頂きありがとうございました。

自分自身の考えを整理する為、もう一度、具体例を使ったやりたい事を3つにまとめて見ました。


1.受注.tblの現在行を除く入力済みデータの中に現在行の[社名]データと
  同一の[社名]データを持つ行が有るかどうか検索する。

2.有った場合は受注.tblのその行でグループ化された進行状況.tblのデータが
  有るかどうか検索する。

3.有った場合は、受注.tblのその行でグループ化された進行状況.tblのデータ行の内
  [資料作成]の値が"K3か"の行を除く全ての行を進行状況.tblに行追加する。


一応まとめては見ても、今現在は、質問内容自体に問題が有るように思えて来て、
質問内容の見直し中(本当は混乱中)です。

例えば、受注.wfmのワークスペースにサブフォームとして進行状況.wfmを貼り付けて、
受注.wfmの行挿入終了イベントでサブフォームの進行状況.wfmを操作する方法を考えています。


>「グループ追加時に他のグループの行を複写する」ですよね?


具体例を使わないわかりやすい表現だとそうなるのかもしれません。
ただ文頭のグループ追加の方法についてもまだ勉強中なのですが・・・


>色々やり方はありますがどうするのが効率がいいでしょうね。


この行以降の文章の説明については勉強不足の為、理解に時間がかかりそうです。

なんでもかんでも質問するわけにもいかないので、行待避&行復旧の使い方など、基本的な事は

自分で調べてそれでもわからないときは又質問させて下さい。

返答が遅れると思いますが、試して見ての結果を必ず報告します。

21427 Re:わかりにくい説明ですいません。まだ思考錯誤中です。 うにん 2003/07/15-23:29
記事番号21409へのコメント
>1.受注.tblの現在行を除く入力済みデータの中に現在行の[社名]データと
>  同一の[社名]データを持つ行が有るかどうか検索する。

これは特に問題ないですよね。

>2.有った場合は受注.tblのその行でグループ化された進行状況.tblのデータが
>  有るかどうか検索する。

単に「進行状況.tblにその[社名]の行があるかどうか」でいいのでは?
実際には[連番]とかいうのもあるようですが、どの連番でも結果は同じですよね?

>3.有った場合は、受注.tblのその行でグループ化された進行状況.tblのデータ行
>  の内[資料作成]の値が"K3か"の行を除く全ての行を進行状況.tblに行追加する。

ここが問題で、「[資料作成]の値が"K3か"の行を除く」というのが[社名]によって
変化する条件のはずなので、どうもデータ構造に問題があるような気がします。
単にグループの最終行ってことでいいのかなあ。

>この行以降の文章の説明については勉強不足の為、理解に時間がかかりそうです。

実際にやってみたわけでなくアイデアのレベルですので、色々やってみてください。

工程.tblを追加して、受注と同時にその作業に関する工程を一通り登録して、
後はそっちに[完了]をいれてって、表示は表引きですればいいのかな?
最後の工程だけは個別の受注に関するものなので工程.tblでなく受注.tblの項目になります。

う〜〜ん、混乱に拍車をかけるだけかな(^^;

21447 出口に向かっているのか、行き止まりか? しぼうかん 2003/07/17-19:00
記事番号21427へのコメント
うにんさん、ひどい説明の解読の為にお時間を取って頂きありがとうございます。
しかし、なんど説明してもうまく説明出来ないと、返信を頂くのも
心苦しくなってきました。m(_ _)m

いつも投稿する時はなるべく簡略化して説明しようと思っているのですが、
自分自身がよく質問内容を理解していないと必要な部分まで省略しまったり、
まずい例を挙げてしまい、後で説明に困ってしまう事が良く有ります。

今回はまさにそうなってしまいました。

とりあえず今回は何とかうまく行く出口を見つけた様な気がします。
もしかして行き止まりかもしれませんが・・・

基本的な部分のテストではうまくいったのですが、[工程]の内容が"K3か"の時には
複写しない"とか細かい所までうまく行くかまだ調査が必要です。


試してみた内容を説明します。

受注内容を入力する受注.wfmと、受注.wfmで入力した受注商品の構成部品である資料の
作成の過程を入力する進行状況.wfmの2つの入力フォームが有ります。

最初の投稿時には進行状況.wfmは発注.wfmのサブフォームとしてのみ使っていましたが、
受注.wfmのワークスペースにもサブフォームとして貼り付ける事にしました。

さらに、受注多重化.wfm(受注.tbl)と進行状況多重化.wfm(進行状況.tbl)も
グループ化しないでサブフォームとして貼り付けました。

まず数値の変数として&回数と&行番号と&連番を、文字の変数として
&社名、配列変数として&資料作成[30]と&完了[30]を宣言して置きます。

そして受注.wfmを入力した後、行挿入終了イベントで、

1.[社名]を&社名に代入し、編集表を受注多重化.wfmに切り替えます。
2.[社名]を検索して、見つけたレコードの[連番]を&連番に代入します。
3.編集表を進行状況多重化.wfmに切り替え、&連番と&社名で絞り込みます
4.&資料作成[30]と&完了[30]に繰り返しコマンドなどを使って
  進行状況.tblのレコードの値を全て代入します。
5.この時にサブフォームのグループの行数も&行番号に代入します。
6.編集表を進行状況.wfmに切り替えて、繰り返しコマンドと&行番号
  などを使って&資料作成や&完了に代入した値を行追加します。

おおまかですが、以上の方法でやって見ました。
実際のイベント内容は以下の様な感じです。


手続き定義開始 フォーム::行挿入終了(長整数 &明細番号,長整数 &モード)
メソッド呼び出し @社名.ソース値取得(&社名,0)
編集表 &受注多重化
検索 [社名]{[社名]=&社名}
&連番=[連番]
編集表 &進行状況多重化
絞り込み [連番]{[連番]=&連番,[社名]=&社名}
ジャンプ 行番号=先頭
繰り返し (.not #終端行)
行番号 &行番号
&資料作成[&行番号]=[資料作成],&完了[&行番号]=[完了]
ジャンプ 行番号 = 次行
繰り返し終了
絞り込み解除 *
編集表 &進行状況
繰り返し &回数=1,&行番号,1
行追加 終了状態=&cok,[資料作成]=&資料作成[&回数],[完了]=&完了[&回数]
繰り返し終了
手続き定義終了

まだまだチェックや追加修正に時間がかかりそうなのでしばらくして又報告します。
21550 出口を出ました。 しぼうかん 2003/07/23-18:28
記事番号21447へのコメント
全然別の記述の所で問題が発生して検証が遅れましたが、

繰り返しの条件の所に希望する条件を書く事でとりあえずうまく動きました。

ヘタな説明でご迷惑をお掛けしました。

戻る