過去の桐井戸端BBS (桐ver.9)
30017 メイン&サブフォームでサブフォームにフォーカスが移った時訂正モードにしたい 手塚 修 2005/05/25-11:51
メイン&サブフォームを作りました。
メインフォームは、カード型、メインtbl。
サブフォームは伝票形式、サブtbl。項目[曜日]、[コース名]でグループ化しています。
メインフォームで[曜日]、[コース名]等を入力した後、サブフォームの明細行、
[重量]にリターンキーで移しています。この項目[重量]に移った時直ぐ入力できるように、
編集モードになるようにするにはどうすればよいのでしょうか?

過去の桐井戸端BBS bP0725以下を参考にしたのですが、うまくいきませんでした。

よろしくお願いいたします。
30018 Re:メイン&サブ サブフォームにフォーカスが移った時訂正モードにしたい 悲しげ 2005/05/25-13:28
記事番号30017へのコメント
 そのようなことを、イベントを使ってやりたいのか、あるいはボタンだけでやりたいとかなのかが、
文面からは読みとれませんが、多分イベントを使ってもよいのだろうと想像してコメントします。

 で、私なら多分次のようにすると思います。
 サブフォームの方ではなく、メインフォーム上の最後に入力する
テキストオブジェクトの「ソース値更新」イベントを使う。
または「キーダウン」(&仮想キーコード=13)での判断でもよいです。
 いずれにせよこのイベント手続き内で、サブフォームの「t重量」にフォーカスを移して
更新モードを訂正モード(または行追加モード?)に設定する。この過程はメソッド呼び出しか、
あるいはひとつのコマンドボタンでも可能だと思います。
 イベントの記述は、メインフォーム側でもサブフォーム側でも、
文法的に正しければ(つまりサブのkevからならメインのオブジェクトについて
「ハンドル=&hwindow」の明記とか、メインのkevからならサブのオブジェクトを「@サブwfm名@サブオブジェクト名」で
階層的に正しく記述する等)どちらでもよいと思います。

 サブフォーム「t重量」の「フォーカス取得」イベントでやることもできそうですが、
これを使うとフォーカスの移動ができなかったり等、却って難しくて、私は断念した記憶があります。(^^;)

ps.
このような場合は、質問者がテスト用データを補完BBSに挙げて、
「これを直して下さい」とやった方が、親切だし、諸々効率的だと思います。

30021 Re:メイン&サブ サブフォームにフォーカスが移った時訂正モードにしたい 手塚 修 2005/05/25-16:04
記事番号30018へのコメント

>「これを直して下さい」とやった方が、親切だし、諸々効率的だと
>思います。
>
 ありがたい言葉です。

ようやく圧縮ファイルになったみたいです。

送らせていただきます。

よろしくお願いいたします。

30023 Re:メイン&サブ サブフォームにフォーカスが移った時訂正モードにしたい 悲しげ 2005/05/25-20:30
記事番号30017へのコメント
>この項目[重量]に移った時直ぐ入力できるように、編集モードに
>なるようにするにはどうすればよいのでしょうか?

この時、「編集モード」と云っているのが、既存行の行訂正のことなのか、
新規行追加のことなのか、どっちなのですか?
例えば、サブに既に数行存在している場合とかもありましょうし。

30032 Re:メイン&サブ サブフォームにフォーカスが移った時訂正モードにしたい 手塚 修 2005/05/26-06:46
記事番号30023へのコメント
悲しげさん いろいろすみません。

>この時、「編集モード」と云っているのが、既存行の行訂正のこと
>なのか、新規行追加のことなのか、どっちなのですか?
>例えば、サブに既に数行存在している場合とかもありましょうし。
>
 上記ですが、新規の入力での事です。

訂正については、まだ考えていませんでした。指摘されて、今思ったのですが、
訂正の場合はこのままで良い、訂正すべき項目値をクリックする、任意の項目値が
選択できてかえってよい、と思った次第です。

よろしくお願いいたします。

悲しげ 投稿日:2005/05/27(Fri) 01:57

一応、「私ならこうする」で。
[重量]なる項目が存在しないのが悩ましかったですが。
手塚 修 投稿日:2005/05/28(Sat) 08:34
> 一応、「私ならこうする」で。
> [重量]なる項目が存在しないのが悩ましかったですが。
>
遅くなりました。今しがた、作っていただきましたことがわかりました。2行の命令で、しかも完全です。当方の力、努力、情けない次第です。
教えていただきました事、理解し、使わせていただきます。

ありがとうございました。

戻る