過去の桐井戸端BBS (桐ver.9)
25040 フォームから変数値で表引き風に別のフォームを参照していますが値によって参照フォームを選択できませんか もさく 2004/02/24-11:36
Aフォームの[明細]に入力する際、Bフォームを開き表引きふうに参照入力しています。
これを変更してAフォーム[明細]入力時
変数 &処理=1の場合は参照用にフォームBを開き(従来どおり)
変数 &処理=2の場合は参照用にフォームCを開いて参照入力するよう出来ないでしょうか。
変数値の設定は[明細]の直前項目の値により選択設定します
よろしくお願いします。
25048 どういう局面でのお話でしょうか 宮城 2004/02/24-14:05
記事番号25040へのコメント
もさくさん、こんにちは。

KEVとかCMDの話でしたら、ケース制御です。

ケース開始
 ケース(&処理=1)
  「参照用にフォームBを開」くコマンド記述。
 ケース(&処理=2)
  「参照用にフォームCを開いて参照入力」するコマンドを記述。
ケース終了

ひょっとして、コマンドボタンだけでやろうとしてたりしませんよね。(^_^;;

25068 Re:どういう局面でのお話でしょうか もさく 2004/02/24-21:19
記事番号25048へのコメント
宮城さん
>
>KEVとかCMDの話でしたら、ケース制御です。


KEVです。
以下AホームのKEV
proc t明細::入力前(参照 文字列 &編集文字列)
   フォーム呼び出し "B",=&Bbutton
if(&Bbutton)
&編集文字列=&STR
&STR=""
&Bbutton=""
end
end


以下BフォームのKEV
proc フォーム::フォーム開始(長整数 &表番号)
end

proc t_明細::マウス左クリック(長整数 &マウス位置[2], 長整数 
   &明細番号,長整数 &フラグ,参照 長整数 &処理中止)
   &STR=[明細
   method @コマンドボタン_閉じる.実行()
end

以上現用KEVです。メイン部分は省略。新規追加フォームはCフォームです。
どこへどう加えれは゛よろしいでしょうか。お願いします。
25070 Re:どういう局面でのお話でしょうか 悲しげ 2004/02/24-23:17
記事番号25068へのコメント
どもっ、もさくさん。添削例です。
〜〜〜〜〜〜〜〜〜〜〜〜〜〜もさくa.kev〜〜〜〜〜〜〜〜〜〜〜〜〜
名札 メイン
 var 局所,長整数{&処理}



手続き定義開始 t明細::入力前(参照 文字列 &編集文字列)
 &処理=[直前項目],&STR=""
 if(&処理=1)
  フォーム呼び出し "もさくb.wfm"
 else if(&処理=2)
  フォーム呼び出し "もさくc.wfm"
 end
 &編集文字列=&STR
手続き定義終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

〜〜〜〜〜〜〜〜〜〜〜〜〜〜もさくb.kev〜〜〜〜〜〜〜〜〜〜〜〜〜
手続き定義開始 fmクリック::マウス左クリック(長整数 &マウス位置・・・・
 &STR=[明細]
 method @b閉じる.実行()
手続き定義終了
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

もさくb.wfmにおいて全ての項目テキストを「fmクリック」と云う名の
ファミリーに指定してみた。
こうすると、[明細]以外の項目をクリックしても[明細]の値を取得できるので。
もさくc.kev/wfmも同様。

25071 Re:どういう局面でのお話でしょうか 宮城 2004/02/24-23:27
記事番号25068へのコメント
斜めに見てえいやっというならば、呼び出すフォームを変えるのだからここになりますが・・・。

proc t明細::入力前(参照 文字列 &編集文字列)
ケース開始
 ケース(&処理=1)
  フォーム呼び出し "B",=&Bbutton
ケース(&処理=2)
 「参照用にフォームCを開いて参照入力」するコマンドを記述。
ケース終了
   
入力前にフォーム呼び出すんですか!?

25074 Re:どういう局面でのお話でしょうか 悲しげ 2004/02/25-00:16
記事番号25071へのコメント
どもっ、宮城さん

>入力前にフォーム呼び出すんですか!?

あ、云われてみればそうですね。(^^;)
ふつうは、と云うか、私なら入力した文字列で検索をかけますね。

25076 Re:どういう局面でのお話でしょうか もさく 2004/02/25-08:33
記事番号25074へのコメント
>>入力前にフォーム呼び出すんですか!?
>
>あ、云われてみればそうですね。(^^;)
>ふつうは、と云うか、私なら入力した文字列で検索をかけますね。
>
ご提案有難うございます。とりあえず疑問を持たれた点について
私なりの理由をご説明させていただいておきます。当初の質問のなかで表引き風と書い
たのがまずいのかもしれませんが、Bフォームは入力支援用のリストであり
[明細]項目以前に入力した値により絞り込み可能な範囲に絞り込んだ後に
一覧表示させた中から目視選択(マウスクリック)により入力しています。
種々の要素があり多くの場合ある程度絞り込まれたリスト中から人の判断により
最終選択せざるをえない場合があるのです。(中には1個に絞らて表示する場合もあります)。
勿論諸兄のお知恵を拝借することによりより使いやすいものに改善出来るかと思われますが。
頂いたご提案につきましてはこれから使わせて頂いて結果は別途報告させて頂きます。
25091 Re:どういう局面でのお話でしょうか 悲しげ 2004/02/25-17:11
記事番号25076へのコメント
もさくさん wrote

>Bフォームは入力支援用のリストであり
>[明細]項目以前に入力した値により絞り込み可能な範囲に絞り込んだ後に
>一覧表示させた中から目視選択(マウスクリック)により入力しています。

「入力支援用の」とのことですが、これって「入力支援ボタン」ではありませんよね?

次、上記の記述から推すに既に(b.wfmの編集対象表が)別表としてオープン済、
且つ既に何らかの絞り込み状態にあると云うことでしょうか?
もしそうだとすると、これは「フォーム呼び出し」(モーダルフォーム)で扱うものではないと思います。
もし「フォーム呼び出し」コマンドを使うのなら、普通はb.wfmを開いた後に、
その「フォーム開始」イベントでもって「以前に入力した値により絞り込み
可能な範囲に絞り込」むように組み立てます。
よって

>種々の要素があり多くの場合ある程度絞り込まれたリスト中から人の判断に
>より最終選択せざるをえない場合があるのです。(中には1個に絞らて表示す
>る場合もあります)。

の過程は、この「フォーム開始」イベントから行うことになる訳です。

25092 Re:どういう局面でのお話でしょうか 悲しげ 2004/02/25-17:29
記事番号25091へのコメント
あるいは、もし既に(b.wfmの編集対象表が)別表としてオープン済、
且つ既に何らかの絞り込み状態にあるのであれば、

 編集表 "b.wfmの編集対象表名"  /*絞り込み済*/
 フォーム呼び出し "b.wfm",編集表=する
 編集表 "元のwfmの編集対象表名"
 ・・・・・

でうまく行くかもしれません。お試し下さい。

25099 Re:どういう局面でのお話でしょうか もさく 2004/02/25-19:58
記事番号25092へのコメント
宮城様 悲しげ様 有難うございました。
私の期待していたとおり出来ました。
私はイベント記述が弱いので皆さんの助けが大変有り難いです。
今手がけているシステム(システムといえるようなものでもありませんが)の前途がもうすこしあります。
またお世話になると思いますがよろしくお願い致します。有難うございました。
25101 Re:どういう局面でのお話でしょうか 悲しげ 2004/02/25-20:39
記事番号25099へのコメント
どもっ、もさくさん

> 編集表 "b.wfmの編集対象表名"  /*絞り込み済*/
> フォーム呼び出し "b.wfm",編集表=する
> 編集表 "元のwfmの編集対象表名"
> ・・・・・

どうやらこれでうまく行ったようですが、
この方式だとb.wfmの編集対象表を、いつどのように開いて、
いつどのように閉じるかの管理をきちんとしておかないと、
ドツボにはまることがありますので、その点、ご留意下さい。

戻る