過去の桐井戸端BBS (桐ver.8)
9493 サブフォーム付きフォームでメインの項目値の変更はできますか 桐坊主 2001/01/26-12:23
お世話になります。イベント処理について伺いたいのですが

フォーム(サブフォーム伝票形式付き)で、メインの項目値の変更できますか

親(部署.TBL)子(備品.TBL)で、

親:[][][更新日][担当者]・・・
子:[][][備品名][数量]・・[備考]・・・

このとき、サブフォームの内容を変更したときのみ
部署.TBLの[更新日][担当者]を変更したいと思います

備品.KEVに、項目名をかいて
行訂正[更新日]・・とか
項目値代入[更新日]・・としても、未定義の項目がありますとのエラーがでます。

なにか方法はございませんか?また、親の部署.KEVへ書くのかどうかもお教えいただけないでしょうか

ちなみに[更新日]は、当日の日付、[担当者]は事前に変数「&担当」に代入済です。
よろしくお願いいたします。

9494 Re:項目値代入について bonito 2001/01/26-13:27
記事番号9493へのコメント
桐坊主さん、類似の事柄に対する示唆や解答は過去に何度か悲しげさんが書き込まれています。
「どもっ and 編集表」で全文検索して見て下さい (^^;

簡単にいうとWFMは1つですが、TBLが2つ開かれていますから
これは頭の中で、別々の表を別々に編集していると思わねばなりません。(リンクはしているけれど...)

サブフォーム側(備品.TBL)のイベントが発生した時は当然、編集対象表は備品.TBLですから、
そこに項目[更新日]が(定義されて)なければ、「未定義の項目があります」という事になります。
ですからイベントの手続き内で、編集表を1時的に変更してやらなければなりません。 
 編集表 "部署.TBL"
 行訂正[更新日]・・
とします。
別々の表なので、部署.TBLは更新モードにはなく、従って項目値代入はこの場合使用出来ません。

このイベントの手続きが終了すると、イベントの発生したTBLに編集対象表が戻る、
とHELP等には書かれていますが、私は不安なので手続きの最後の行に
 編集表 "備品.TBL"
とあえて記述する事もあります。(やっぱ余計だとは思うが...) 
9496 Re:項目値代入について 悲しげ 2001/01/26-13:36
記事番号9493へのコメント
どもっ、桐坊主さん

>フォーム(サブフォーム伝票形式付き)で、メインの項目値の変更できますか
>
>親(部署.TBL)子(備品.TBL)で、
>親:[][][更新日][担当者]・・・
>子:[][][備品名][数量]・・[備考]・・・
>
>このとき、サブフォームの内容を変更したときのみ
>部署.TBLの[更新日][担当者]を変更したいと思います
>
>備品.KEVに、項目名をかいて
>行訂正[更新日]・・とか
>項目値代入[更新日]・・としても、未定義の項目がありますとの
>エラーがでます。

これは「行訂正」か「項目値代入」かの問題ではなさそうです。
「未定義の項目があります」エラーが出るのだから、文字どおりそのとおりなのでしょう。
一番有り得るのは、編集対象表を切り換えていないこと。
項目値を変更するタイミング(どのイベントをどのように使うか)はともかくとして、
またkevをwfm毎に分けた方がいいか否かもさておき、
備品.TBLの値を更新した時点の編集対象表が備品.TBLにあるして、次に部署.TBLの値を更新したいのなら、
編集表を部署.TBLに変えなければなりません。
備品.TBLに[更新日]等の項目がなくて、編集対表表を備品.TBLにしたまま、
[更新日]項目に記入しようとしてもそのような項目は無い訳ですから。

例)何らかのタイミングで
 編集表 "部署.TBL"
 行訂正 [更新日]=……,[担当者]=……
 *↑部署.TBLが表示モードであれば行訂正、訂正モードなら項目値代入
 編集表 "備品.TBL"  /*編集表を元に戻しておく*/
9503 Re:項目値代入について 桐坊主 2001/01/26-17:13
記事番号9496へのコメント
bonitoさん・悲しげさんどうもありがとうございます。

フォーカス設定やソース値更新等も試してみたのですがだめで質問させていただきました。

肝心の、編集表(*.TBL)が2個あることを忘れてました

またがんばってみます。どうもありがとうございます。

戻る