(現在 過去ログ87 を表示中)

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

[ 最新記事及び返信フォームをトピックトップへ ]

■12952 / inTopicNo.1)  編集状態にならない
  
□投稿者/ まさやん -(2021/05/09(Sun) 19:22:25)
    2021/05/10(Mon) 10:13:58 編集(投稿者)
    2021/05/09(Sun) 20:18:44 編集(投稿者)
    2021/05/09(Sun) 20:14:11 編集(投稿者)
    2021/05/09(Sun) 19:52:25 編集(投稿者)

    いつもお世話になっております。

    桐9s WIN10 の環境で使用しています。

    添付の フォームとイベントでなんですが、
    一度 一行目を 入力して、 一度表示状態になり

    入力した行を編集しようと
    再度 品名項目を マウスでクリックするんですが、
    編集状態にならない状態です。

    どこがいけないのでしょうか?
    謎を 解いていただきたいと思い投稿しました。
    宜しくお願い致します。 

    表を添付しないでしました。
    20:15分に添付し直しました。

    5月10日 ファイルは削除しました。
引用返信 [メール受信/ON] 削除キー/
■12953 / inTopicNo.2)  Re[1]: 編集状態にならない
□投稿者/ ONnoji -(2021/05/09(Sun) 22:55:41)
    2021/05/09(Sun) 23:43:34 編集(投稿者)

    > 入力した行を編集しようと
    > 再度 品名項目を マウスでクリックするんですが、
    > 編集状態にならない状態です。

    すでにオブジェクト名:t品名 にフォーカスがある時に、

    現行の行とは異なるオブジェクト名:t品名 をマウス左クリックしても、[t品名::フォーカス取得]イベントは発生しません。

    [t品名::フォーカス取得]イベントが発生しなければ、

    ┌when イベント処理"t品名::フォーカス取得"を実行開始しました

    │ :&title : t品名::フォーカス取得( )
    │ :&title : t品名::フォーカス取得( )  &分 : 1  フォーム.更新モード設定(0)
    │ :&title : t品名::フォーカス取得( )  &分 : 1  @フォーム.更新モード設定(2)

    └end 戻り値=1で実行終了しました

    という流れは実行されません。

    つまり、t品名 をマウス左クリックしても、訂正モード(@フォーム.更新モード設定(2))になりません。

    そいう理由だろうと思いますよ。

    <追記1>

    カード形式のフォームと異なり、一覧表形式または伝票形式のフォームのフォーム明細部では、

    同じオブジェクトが繰り返して表示されています。

    例えば、明細部のAオブジェクトにフォーカスがある時に、繰り返されているAオブジェクトをクリックしても[フォーカス取得]イベントは発生しませんよ。

    なぜならば、既にAオブジェクトにフォーカスがあるのですから・・・

     ◇ ◇ ◇ ◇ ◇ ◇ ◇

    なお、フォーム明細部のテキスト:原価率 のソース属性が不適切で、次のエラーが発生しています。

     エラー :KD1072:ゼロ除算が発生しました(C:\テスト\1620558932\納品印刷.tbl )

    なお、このエラーは気付き難いもので、[トレース出力]ウィンドウを表示すると確認できます。

     次のように修正すると改善すると思いますよ。

     × #四捨五入([原価]/[単価],2)

     ○ #cond( [単価] <> 0, #四捨五入([原価]/[単価],2) )

    <追記2>

    フォーム定義で、[整合性チェック]を行うと気が付きますよ。

    フォーム定義で、[オブジェクトのリスト]でも、赤い□の中に×が表示されているので気が付きますよ。

     ◇ ◇ ◇ ◇ ◇ ◇ ◇

    ご参考までに当方で行ったトレースを提示します。

    ┌when イベント処理"フォーム::フォーム開始"を実行開始しました

    │ :&title : フォーム::フォーム開始( )

    │┌when イベント処理"フォーム::レコード移動"を実行開始しました
    │└end 戻り値=0で実行終了しました

    │ :&title : フォーム::フォーム開始( )  &秒 : 0  グループ検索  {[伝票番号]=&年月日}
    │ :&title : フォーム::フォーム開始( )  &分 : 1

    └end 戻り値=1で実行終了しました

    ┌when イベント処理"t品名::フォーカス取得"を実行開始しました

    │ :&title : t品名::フォーカス取得( )
    │ :&title : t品名::フォーカス取得( )  &分 : 1  フォーム.更新モード設定(0)
    │ :&title : t品名::フォーカス取得( )  &分 : 1  @フォーム.更新モード設定(2)

    └end 戻り値=1で実行終了しました

    ┌when イベント処理"t品名::ソース値更新"を実行開始しました

    │ :&title : t品名::ソース値更新( )  &分 : 1  @フォーム.更新モード設定(0)

    └end 戻り値=1で実行終了しました

    ┌when イベント処理"t数量::フォーカス取得"を実行開始しました

    │ :&title : t数量::フォーカス取得( )  &分 : 1  @フォーム.更新モード取得(&秒)
    │ :&title : t数量::フォーカス取得( )  &秒 : 0  条件 (&秒=0) メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)
    │ :&title : t数量::フォーカス取得( )  &分 : 1  @フォーム.更新モード設定(2))

    └end 戻り値=1で実行終了しました

    ┌when イベント処理"t数量::ソース値更新"を実行開始しました

    │ :&title : t数量::ソース値更新( )  &分 : 1  @フォーム.更新モード設定(0)

    │┌when イベント処理"t単価::フォーカス取得"を実行開始しました
    ││
    ││ :&title : t単価::フォーカス取得( )  &分 : 1  @フォーム.更新モード取得(&秒)
    ││ :&title : t単価::フォーカス取得( )  &秒 : 0  条件 (&秒=0) メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)
    ││ :&title : t単価::フォーカス取得( )  &分 : 1  @フォーム.更新モード設定(2)
    ││
    │└end 戻り値=1で実行終了しました

    │ :&title : t数量::ソース値更新( )  &return : 1  @t単価.フォーカス設定( )

    └end 戻り値=1で実行終了しました

    ┌when イベント処理"t単価::ソース値更新"を実行開始しました

    │ :&title : t単価::ソース値更新( )  &分 : 1  @フォーム.更新モード設定(0)
    │ :&title : t単価::ソース値更新( )  &return : 1  @中止.フォーカス設定( )

    └end 戻り値=1で実行終了しました

    ┌when イベント処理"t品名::フォーカス取得"を実行開始しました

    │ :&title : t品名::フォーカス取得( )
    │ :&title : t品名::フォーカス取得( )  &分 : 1  フォーム.更新モード設定(0)
    │ :&title : t品名::フォーカス取得( )  &分 : 1  @フォーム.更新モード設定(2)

    └end 戻り値=1で実行終了しました

    ┌when イベント処理"t品名::ソース値更新"を実行開始しました

    │ :&title : t品名::ソース値更新( )  &分 : 1  @フォーム.更新モード設定(0)

    └end 戻り値=1で実行終了しました


引用返信 [メール受信/OFF] 削除キー/
■12954 / inTopicNo.3)  Re[2]: 編集状態にならない
□投稿者/ ONnoji -(2021/05/09(Sun) 22:59:53)

    ご参考までに当方でトレース用に改変したコードを提示します。

    名札 メイン
     変数宣言 共通,整数,{&発年,&発月,&発日}


    手続き定義開始 フォーム::フォーム開始(長整数 &表番号)
     変数宣言 自動,文字列{ &icon, &title = "フォーム::フォーム開始( )", &msg }
     トレース出力 _&title

     if ( 1 )
      グループ検索  {[伝票番号]=&年月日},終了状態=&秒
      トレース出力 _&title, " ", _&秒, " ", "グループ検索  {[伝票番号]=&年月日}"

      トレース出力 _&title, " ", _&分
      条件 (&分=0) グループ追加  {[伝票番号]=&年月日},終了状態=&秒
      条件 (&分=0) トレース出力 _&title, " ", _&秒, " ", "グループ追加  {[伝票番号]=&年月日}"

      行追加 [品名]=""
      位置指定 行番号=b
     end

    手続き定義終了

    手続き定義開始 t品名::フォーカス取得(文字列 &喪失オブジェクト名)
     変数宣言 自動,文字列{ &icon, &title = "t品名::フォーカス取得( )", &msg }
     トレース出力 _&title

     if ( 1 )
      メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(0)
      トレース出力 _&title, " ", _&分, " ", "フォーム.更新モード設定(0)"

      メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)
      トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード設定(2)"
     end

    手続き定義終了

    手続き定義開始 t数量::フォーカス取得(文字列 &喪失オブジェクト名)
     変数宣言 自動,文字列{ &icon, &title = "t数量::フォーカス取得( )", &msg }

     メソッド呼び出し  戻り値 = &分,@フォーム.更新モード取得(&秒)
     トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード取得(&秒)"

     トレース出力 _&title, " ", _&秒, " ", "条件 (&秒=0) メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)"
     条件 (&秒=0) メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)
     条件 (&秒=0) トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード設定(2))"
     *メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)

    手続き定義終了

    手続き定義開始 t単位::フォーカス取得(文字列 &喪失オブジェクト名)
     変数宣言 自動,文字列{ &icon, &title = "t単位::フォーカス取得( )", &msg }

     メソッド呼び出し  戻り値 = &分,@フォーム.更新モード取得(&秒)
     トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード取得(&秒)"

     トレース出力 _&title, " ", _&秒, " ", "条件 (&秒=0) メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)"
     条件 (&秒=0) メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)
     条件 (&秒=0) トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード設定(2)"
     *メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)

    手続き定義終了

    手続き定義開始 t単価::フォーカス取得(文字列 &喪失オブジェクト名)
     変数宣言 自動,文字列{ &icon, &title = "t単価::フォーカス取得( )", &msg }

     メソッド呼び出し  戻り値 = &分,@フォーム.更新モード取得(&秒)
     トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード取得(&秒)"

     トレース出力 _&title, " ", _&秒, " ", "条件 (&秒=0) メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)"
     条件 (&秒=0) メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)
     条件 (&秒=0) トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード設定(2)"

     *メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(2)

    手続き定義終了

    手続き定義開始 t品名::ソース値更新()
     変数宣言 自動,文字列{ &icon, &title = "t品名::ソース値更新( )", &msg }

     メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(0)
     トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード設定(0) "

    手続き定義終了

    手続き定義開始 t数量::ソース値更新()
     変数宣言 自動,文字列{ &icon, &title = "t数量::ソース値更新( )", &msg }
     変数宣言 自動,整数 { &return }

     メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(0)
     トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード設定(0)"

     *メソッド呼び出し @t単位.フォーカス設定()
     メソッド呼び出し 戻り値 = &return, @t単価.フォーカス設定()
     トレース出力 _&title, " ", _&return, " ", "@t単価.フォーカス設定( )"

    手続き定義終了

    手続き定義開始 t単位::ソース値更新()
     変数宣言 自動,文字列{ &icon, &title = "t単位::ソース値更新( )", &msg }
     変数宣言 自動,整数 { &return }

     メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(0)
     トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード設定(0)"

     *メソッド呼び出し @t単価.フォーカス設定()
     メソッド呼び出し 戻り値 = &return, @t単価.フォーカス設定()
     トレース出力 _&title, " ", _&return, " ", "@t単価.フォーカス設定( )"

    手続き定義終了

    手続き定義開始 t単価::ソース値更新()
     変数宣言 自動,文字列{ &icon, &title = "t単価::ソース値更新( )", &msg }
     変数宣言 自動,整数 { &return }

     メソッド呼び出し  戻り値 = &分,@フォーム.更新モード設定(0)
     トレース出力 _&title, " ", _&分, " ", "@フォーム.更新モード設定(0)"

     *メソッド呼び出し @中止.フォーカス設定()
     メソッド呼び出し 戻り値 = &return, @中止.フォーカス設定()
     トレース出力 _&title, " ", _&return, " ", "@中止.フォーカス設定( )"

    手続き定義終了


引用返信 [メール受信/OFF] 削除キー/
■12955 / inTopicNo.4)  Re[2]: 編集状態にならない
□投稿者/ まさやん -(2021/05/09(Sun) 23:38:21)
    2021/05/10(Mon) 08:24:40 編集(投稿者)
    2021/05/09(Sun) 23:54:21 編集(投稿者)
    2021/05/09(Sun) 23:46:27 編集(投稿者)
    2021/05/09(Sun) 23:45:45 編集(投稿者)
    2021/05/09(Sun) 23:44:40 編集(投稿者)
    2021/05/09(Sun) 23:42:28 編集(投稿者)

    ONnojiさん 早速検証していただきありがとうございます。

    > つまり、t品名 をマウス左クリックしても、訂正モード(@フォーム.更新モード設定(2))になりません。

    > そいう理由だろうと思いますよ。

    > 例えば、明細部のAオブジェクトにフォーカスがある時に、繰り返されているAオブジェクトをクリックしても[フォーカス取得]イベントは発生しませんよ。
    >
    > なぜならば、既にAオブジェクトにフォーカスがあるのですから・・・

    私の考え方としたら

    マウスクリック =  フォーカス移動    
    つまり マウスクリックしたら そこにフォーカスが移動したもの と思っていました。
    違うんですね ありがとうございます。

    確かに カード形式の フォームでは こんなことがありませんでした。
    カード形式以外の フォームでは 無理なことなんでしょうか?

    (或いは 別な方法でのやり方があるのでしょうか?)と先ほど書きましたが
    マウス左ダウンイベントとか何かで ちょっとやってみたいと思います。

    23:53 追加

    マウス左アップイベントで 思い通りになりました。ありがとうございます。


    >  エラー :KD1072:ゼロ除算が発生しました(C:\テスト\1620558932\納品印刷.tbl
    )

    はい 承知していました。

    一括処理でやっていたのをイベントで出来るようにとちょっと勉強していました。

    利用していたフォームを イベントに流用したもので
    ここにアップするため余分なオブジェクトを削除してアップしたのですが
    残っていたようです。

    > なお、このエラーは気付き難いもので、[トレース出力]ウィンドウを表示すると確認できます。

    はい、ありがとうございます。

    トレース出力 試してみます。


    改めて考えてみると
    伝票形式フォームでは 自動でフォーカスが移動するんでしたね。
    でも改めてトレース出力など 色々勉強になりました。
解決済み!
引用返信 [メール受信/OFF] 削除キー/
■12956 / inTopicNo.5)  Re[3]: 編集状態にならない
□投稿者/ まさやん -(2021/05/09(Sun) 23:47:41)

    > ご参考までに当方でトレース用に改変したコードを提示します。

    詳しく書いていただきありがとうございます。
    ちょっとやってみます。
引用返信 [メール受信/OFF] 削除キー/
■12957 / inTopicNo.6)  Re[3]: 編集状態にならない
□投稿者/ ONnoji -(2021/05/10(Mon) 00:10:05)
    2021/05/10(Mon) 00:28:47 編集(投稿者)

    > マウスクリック =  フォーカス移動    
    > つまり マウスクリックしたら そこにフォーカスが移動したもの と思っていました。
    > 違うんですね ありがとうございます。
    >
    > 確かに カード形式の フォームでは こんなことがありませんでした。
    > カード形式以外の フォームでは 無理なことなんでしょうか?

    一覧表形式と伝票形式のフォームの[フォーム明細部]は、同じオブジェクトが[繰り返し表示]されています。

    この場合だけ気を付ければ良いと思いますよ。

    [フォームヘッダ部]や[フォームフッタ部]では、[繰り返し表示]はありません。

    > (或いは 別な方法でのやり方があるのでしょうか?)と先ほど書きましたが
    > マウス左ダウンイベントとか何かで ちょっとやってみたいと思います。

    拝見したところ、非常にガチガチにガードされているようですね。

    私は今回拝見したフォームのようなアプローチはしたことがありませんので、適切なアドバイスが出来ません。
    ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
    なお、私のやり方になりますが、データのエントリー(登録)を目的としたフォームの場合には、表示モードを標準にするデザインは採用しません。

    私ならば、逆に訂正モードを標準にしたデザインを採用します。

    なお、データのエントリー(登録)時には、表示モードに遷移して、最終的な内容のチェックをしっかり行います。

    その時にもしも不備があれば、訂正すべき項目をフォーカスして訂正モードに遷移してメッセージボックスを表示します。

    一方、参照を目的にしたフォームでは、当然ながら下手にデータを書きかえられないように表示モードを標準にします。

    そして万が一に訂正が必要な場合には、[スペース]キーを[フォームキーダウン]イベントで拾うようにすることが多いです。

    >> エラー :KD1072:ゼロ除算が発生しました(C:\テスト\1620558932\納品印刷.tbl
    > )
    >
    > はい 承知していました。

    エラーの原因を見つけるのに結構時間がかかりました。

    添付ファイルには単純なエラーを含んだファイルはご遠慮ください。

    それから、オーバーラップ形式のフォームはチャイルド形式に、タイトルバーは表示するようにしていただくとありがたいのですが・・・


引用返信 [メール受信/OFF] 削除キー/
■12958 / inTopicNo.7)  Re[4]: 編集状態にならない
□投稿者/ まさやん -(2021/05/10(Mon) 00:25:50)
    アドバイス ありがとうございます。

    > 添付ファイルには単純なエラーを含んだファイルはご遠慮ください。



    投稿後 しばらくして 別のPCに ダウンロードして 気づいた次第です 。

    失礼しました。
引用返信 [メール受信/OFF] 削除キー/



トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

Mode/  Pass/

HOME HELP 新規作成 新着記事 トピック表示 ファイル一覧 検索 過去ログ

- Child Tree -
- Antispam Version -