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

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

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

■8413 / inTopicNo.1)  イベントで行追加した後のファイル保存
  
□投稿者/ ステラ -(2014/09/29(Mon) 03:18:41)
    たびたび すみません。

    桐ver9-2012(桐92004ーsp6)をwindows7で使用しています。

    フォーム入力で、行追加したときに、管理番号に最大+1の番号を入れたくて、通りすがりさんの過去ログ29を参考にイベントを利用しました。

    手続き定義開始 最大値取得 
          多重化 
          項目集計 [管理番号]
          行追加  [管理番号]=&最大値+1 
    手続き定義終了
    (編集表 &表番号のくだりはわからなかったので飛ばしましたが、とりあえずうごきました。)


    フォームのコマンドボタン「追加」に
    手続き実行  最大値取得
    ジャンプ   最終
    訂正

    (そのままでは、同レコードの他の項目が入力状態にならなかったので・・)

    としました。

    うまく動くのですが、フォームを閉じるときに、コマンドボタン「閉じる」は
    閉じる  確認する

    を選んであるのに保存確認してくれません。

    右上の×マークで閉じるときも同様です。


    データの訂正したときは、閉じるボタンで保存確認してくれます。

    ヘルプを見ても、特にそんなことは書いてないようですが、イベントで行追加したときは、間違えて追加したり、試しに追加しても破棄できないのでしょうか?

    破棄を選択できるようにするにはどうしたらよいのでしょうか?
    飛ばしたところがポイントだったのでしょうか?

    多重化のヘルプを見ると、フォームから多重化で開いても、どちらで入力しても同じような印象をうけたのですが・・・




引用返信 [メール受信/OFF] 削除キー/
■8416 / inTopicNo.2)  Re[1]: イベントで行追加した後のファイル保存
□投稿者/ うにん -(2014/09/29(Mon) 10:42:57)
    取得が目的なんで、

    > 手続き定義開始 最大値取得 
    >       多重化 
    >       項目集計 [管理番号]

    終了 表 編集対象表

    >       行追加  [管理番号]=&最大値+1 
    > 手続き定義終了

    として多重化した表は、すぐに閉じた方がよいのでは。

    > うまく動くのですが、フォームを閉じるときに、コマンドボタン「閉じる」は
    > 閉じる  確認する
    >
    > を選んであるのに保存確認してくれません。

    これと関係あるかどうか知りませんが、多重化で開いた表はフォームで開いてるのとは別です。(非表示状態)
    多重化で複数開いている場合に色々制限が発生するのは、ヘルプに書いてある通り。

引用返信 [メール受信/OFF] 削除キー/
■8423 / inTopicNo.3)  Re[2]: イベントで行追加した後のファイル保存
□投稿者/ ステラ -(2014/09/30(Tue) 01:47:51)
    うにんさん、いつもありがとうございます。

    > 終了 表 編集対象表
    >
    > として多重化した表は、すぐに閉じた方がよいのでは。

    ごもっともです。さっそくそうしました。


    でも、特に変化なしで、一度行追加し、「管理番号」に入力してしまった分は自動的に保存されてしまうようです。
    保存させないためには、何か記述がいるのでしょうか?


    まちがえたり、途中まで入力しようとして、やめたりすることがあると思うのですが、更新しない(取り消す)方法はないでしょうか?

    削除ボタンを作ったほうがいい?
    でも、通常、保存しなければいいやと、何番の管理番号が追加されたか覚えていないと思うのです。

    何かいいアイデアはないでしょうか?


    やりたいことが分かりやすいと思い、フォームをアップしました。

    よろしくお願いします。


1412009271.zip
/51KB
引用返信 [メール受信/OFF] 削除キー/
■8424 / inTopicNo.4)  Re[3]: イベントで行追加した後のファイル保存
□投稿者/ 尾形 -(2014/09/30(Tue) 05:02:29)
    どうも、こんにちは

    多重化したら、強制的に保存されるんじゃないの

    多重化コマンド関連の処理をいったんやめてみたら

引用返信 [メール受信/OFF] 削除キー/
■8427 / inTopicNo.5)  Re[4]: イベントで行追加した後のファイル保存
□投稿者/ うにん -(2014/09/30(Tue) 09:40:50)
    > 多重化したら、強制的に保存されるんじゃないの

    ヘルプに書いていないけど、いかにもありそうだと思いました。(共有更新で開いてるような状態?)
    でもちょっと違うようです。

    多重化すると、その時点のデータを初期状態として別のウィンドウが開くので、両方のウィンドウで多重化する前の変更は元に戻せなくなります。
    しかし、多重化した表をそのまま閉じると、最初のウィンドウは変更を破棄できる状態に戻ります。
    多重化した表で編集しても閉じるときに保存するか確認されませんが、元の表を閉じるときに確認されます。
    元の表を先に閉じても、その時には確認されず、多重化した表の方で確認されます。
    (つまりその表の最後のウィンドウを閉じるときでしょう。)
    変更はすぐに別のウィンドウにも反映されてるので、そのために行集計状態等変更できないウィンドウがあると他でも変更できない制限があるわけですね。

    最大値を調べるために多重化しても、すぐ閉じてれば特に問題なさそうですが。

    あ、面倒なのでテストにフォームは使ってません。表と、多重化するだけの一括処理だけです。
    一括処理でなく、ウィンドウメニューで開いても同じですね。
引用返信 [メール受信/OFF] 削除キー/
■8428 / inTopicNo.6)  Re[3]: イベントで行追加した後のファイル保存
□投稿者/ 通りすがり -(2014/09/30(Tue) 10:03:41)
引用返信 [メール受信/OFF] 削除キー/
■8429 / inTopicNo.7)  Re[4]: イベントで行追加した後のファイル保存
□投稿者/ うにん -(2014/09/30(Tue) 15:39:47)
    うわ〜、5年前に私もやってたのかあ。一応当時とは桐のバージョンも変わってるけど、どうかな。
    多重化なんてそれ以来全く使った記憶がありません...
    実はフォームすらほとんど使ってません...
引用返信 [メール受信/OFF] 削除キー/
■8430 / inTopicNo.8)  Re[4]: イベントで行追加した後のファイル保存
□投稿者/ くおんたむ -(2014/09/30(Tue) 20:16:13)
引用返信 [メール受信/OFF] 削除キー/
■8431 / inTopicNo.9)  Re[4]: イベントで行追加した後のファイル保存
□投稿者/ ステラ -(2014/10/01(Wed) 10:41:43)
    No8428に返信(通りすがりさんの記事)
    > 一筋縄では難しいみたいね
    >
    > http://tayu.o0o0.jp/bbs/kiri/cbbs.cgi?mode=al2&namber=4367&page=20&rev=0&no=0&KLOG=30
    >
    > 過去ログの、No.4658 以降 の関連記事
    >
    >

    ほんとうですね。
    うにんさんに教えていただいた通り多重化したファイルを閉じて実行しましたが、過去ログにあるように、一度多重化をしてしまうと、閉じたあとも破棄ができないようです。

    通りすがりさんに教えていただいた過去ログに書かれていた内容は、未熟な私の理解を超えていてあまりよくわかりませんでした。
    閉じるボタンに、通りすがりさんが記述してくれたのをのせればいいんでしょうか?(でも、残念ながら、私ではウインドウをなにかしているということ以外は、何が行われているのかわかりません。(涙))

    くおんたむさんの過去ログの「トランザクション」もはじめてですが、ヘルプを見て何とかできるかなと思いやってみましたが、

    確定処理ボタンに手続き呼び出して
      メソッド呼び出し @フォーム.更新モード設定(0)
    トランザクション コミット

    破棄処理ボタンに手続き呼び出して
      メソッド呼び出し @フォーム.更新モード設定(0)
    トランザクション ロールバック

    のメソッド呼び出し更新モード設定の「ハンドル」がよくわかりません。
    桐ヘルプ、キーワードで検索してみても、なんだか見当違いのしか出て来ないのです。
    (検索の仕方や場所が悪いのでしょうか?とりあえず、そのままコピペでつかってみたら、やはりおかしいとメッセージが出てしまいました。)

    上記の通りすがりさんのウインドウを開くような記述にも、「ハンドル」に該当する部分があるのですが、これはフォームを使っている場合、どこをチェックするとわかるものなのでしょうか?

    教えていただけると嬉しいです。
    (別スレッドにしたほうがいいですか?)
引用返信 [メール受信/OFF] 削除キー/
■8432 / inTopicNo.10)  Re[1]: イベントで行追加した後のファイル保存
□投稿者/ 尾形 -(2014/10/01(Wed) 16:24:19)
    どうも、こんにちは

    > フォームのコマンドボタン「追加」に
    > 手続き実行  最大値取得
    > ジャンプ   最終
    > 訂正

    [追加]のボタンを作っているのであれば
    わざわざ多重化せずに

    解除 *
    並べ替え {[管理番号]}
    ジャンプ 行番号=最終
    代入   &最大値=[管理番号]
    行追加  [管理番号]=&最大値
    ジャンプ 行番号=最終
    訂正

    みたいな感じでは

引用返信 [メール受信/OFF] 削除キー/
■8433 / inTopicNo.11)  みなさん、ありがとうございました。
□投稿者/ ステラ -(2014/10/01(Wed) 17:57:11)
    尾形さん ありがとうございます。

    フォームにトランザクションの開始を設定したら、ファイル取り込み時に行っていた表整理ができなくなって、ショックを受けていたところでした。


    >>フォームのコマンドボタン「追加」に
    >>手続き実行  最大値取得
    >>ジャンプ   最終
    >>訂正
    >
    > [追加]のボタンを作っているのであれば
    > わざわざ多重化せずに
    >
    > 解除 *
    > 並べ替え {[管理番号]}
    > ジャンプ 行番号=最終
    > 代入   &最大値=[管理番号]
    > 行追加  [管理番号]=&最大値
    > ジャンプ 行番号=最終
    > 訂正
    >
    > みたいな感じでは

    シンプルにできました。

    過去の質問で最大値+1を設定したいという質問はきっとあるだろうと思って自分で過去ログを見つけてやろうとしたら、かえって皆さんにご迷惑をおかけしてしまいました。

    でも、勉強になりました。
    多重化、なかなか敷居が高いですね。

    みなさん、ありがとうございました。


解決済み!
引用返信 [メール受信/OFF] 削除キー/



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

このトピックに書きこむ

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

Mode/  Pass/

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

- Child Tree -
- Antispam Version -