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

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

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

■4580 / inTopicNo.21)  Re[9]: 改めて質問です。多重化と中止表の関係について
  
□投稿者/ うにん -(2009/04/06(Mon) 14:56:11)
    >>質問の核心は、メインテーブルの更新がある状態でフォームを閉じる場合、
    >>上書き保存の確認用ダイアログを出すことなんです。

    > 当方は、メイン&サブフォームで試したことがないので分かりません。

    ここで「メイン」といってるのは単に多重化する前に開いていたという意味では。

    > タラレバですが、多重化した表を「終了 表」すると、
    > 上書き保存したことと同じステータスになってしまうのかもしれませんね。
    > ビーユージーなのか?、仕様なのか?、K3に問い合わせた方がいいと思いますよ。

    単純に
    多重化
    中止 表 編集対象表
    と一括処理実行するだけで、フォームの対象表の変更状態が無視されるようになる。どうもバグとしか思えない。
    表編集で実行しても問題ない。多重化している数を数え間違えてるような気がする。
    (表だけで多重化しているとき、確認ダイアログが出るのは最後の1つを閉じるときだけ)

    変更状態は表編集に切り替えると右下のインジケータが赤くなっててわかるのですが、
    これを調べる関数はないようです。
    つまり、変更されたか関係なく確認ダイアログを出して保存・破棄を選択させるしかないと思います。
    しかしこれをいつやるのかが問題で?フォーム終了イベントにしかけるとフォームの対象表は終了できないし?
引用返信 [メール受信/OFF] 削除キー/
■4582 / inTopicNo.22)  Re[10]: 改めて質問です。多重化と中止表の関係について
□投稿者/ ONnoji -(2009/04/06(Mon) 15:30:08)
    > 単純に
    > 多重化
    > 中止 表 編集対象表
    > と一括処理実行するだけで、フォームの対象表の変更状態が無視されるようになる。どうもバグとしか思えない。
    > 表編集で実行しても問題ない。多重化している数を数え間違えてるような気がする。
    > (表だけで多重化しているとき、確認ダイアログが出るのは最後の1つを閉じるときだけ)

    御意です。

    フォームの編集対象表を多重化した場合、
    フォームを閉じるまで多重化した表を閉じなければ良いんでしょうけれど…。

    当方は未検証です。

引用返信 [メール受信/OFF] 削除キー/
■4584 / inTopicNo.23)  Re[10]: 改めて質問です。多重化と中止表の関係について
□投稿者/ kirikiri -(2009/04/06(Mon) 15:36:47)
    No4580に返信(うにんさんの記事)
    > ここで「メイン」といってるのは単に多重化する前に開いていたという意味で

    はい。



    >単純に
    > 多重化
    > 中止 表 編集対象表
    > と一括処理実行するだけで、フォームの対象表の変更状態が無視されるようにな
    >る。どうもバグとしか思えない。

    桐は結構安定しているので、バグという発想が出ませんでしたが、
    バグなんですかね・・・
    ちなみに、多重化中は上書き保存が禁止みたいです。
    フォーム上で上書き保存ボタンを作成してみるとよく分かりますが、
    多重化中はグレーになって押せなくなり、多重化を解除すると
    押せるようになります。
    多重化前の更新履歴を多重化終了後に継承はしているようですが、
    フォームの終了時には、やはり上書き保存確認ダイアログは出てきません。。。
    Accessは常に自動上書き保存ですが、この動きに似た感じになります。



    > つまり、変更されたか関係なく確認ダイアログを出して保存・破棄を選択させる
    >しかないと思います。
    > しかしこれをいつやるのかが問題で?フォーム終了イベントにしかけるとフォー
    >ムの対象表は終了できないし?

    編集対象表の終了は、フォーム終了と共に自動でされるので問題なさそうです。
    これは確認済みです。
    ただ、毎回処理毎に確認ダイアログが出るのがわずらわしいので、なんとか
    ならないかと思った次第です。。。

引用返信 [メール受信/OFF] 削除キー/
■4585 / inTopicNo.24)  Re[11]: 改めて質問です。多重化と中止表の関係について
□投稿者/ kirikiri -(2009/04/06(Mon) 15:39:52)
    No4582に返信(ONnojiさんの記事)

    > 御意です。
    > フォームの編集対象表を多重化した場合、
    > フォームを閉じるまで多重化した表を閉じなければ良いんでしょうけれど…。
    > 当方は未検証です。

    実はこれも検証してみたんですが、
    先にも書きましたが、多重化中は上書き禁止のようです。。
    これはこれで困る上に、やはりダイアログは出なかったと思います。
引用返信 [メール受信/OFF] 削除キー/
■4586 / inTopicNo.25)  Re[11]: 改めて質問です。多重化と中止表の関係について
□投稿者/ ONnoji -(2009/04/06(Mon) 17:03:50)
    2009/04/06(Mon) 17:04:36 編集(投稿者)

    > 編集対象表の終了は、フォーム終了と共に自動でされるので問題なさそうです。
    > これは確認済みです。
    > ただ、毎回処理毎に確認ダイアログが出るのがわずらわしいので、なんとか
    > ならないかと思った次第です。。。

    表( .tbl )の属性の[バックアップをとる]のチェックボックスを消せば、メッセージボックスは現れませんよ。

引用返信 [メール受信/OFF] 削除キー/
■4592 / inTopicNo.26)  Re[6]: 改めて質問です。多重化と中止表の関係について
□投稿者/ オヨヨ -(2009/04/06(Mon) 19:48:36)
    > 質問は下記の通りです。
    > 「多重化→中止 表により多重化表を閉じる。(メイン表のみになる。)その後フォーム(メイン表)を閉じると変更の有無にかかわらず無条件で破棄終了となります。変更が加わっている場合には上書き保存確認のダイアログを出したいのですが可能でしょうか?」
    >
    とりあえず
    1.入力前後イベントで編集文字列チェック
    2.コマンドボタンの機能"上書き保存"利用
    で場合によってファミリという感じ?

    さっき一度アップしたけどバグ発見で再アップ^_^;

1239014916.zip
/9KB
引用返信 [メール受信/OFF] 削除キー/
■4606 / inTopicNo.27)  Re[12]: 改めて質問です。多重化と中止表の関係について
□投稿者/ kirikiri -(2009/04/07(Tue) 16:50:06)
    No4586に返信(ONnojiさんの記事)
    > 表( .tbl )の属性の[バックアップをとる]のチェックボックスを消せば、メッセージボックスは現れませんよ。

    補足です。
    この説明の中のメッセージボックスとは、
    自作したメッセージボックスの事を指しています。

    色々調べてテストもしてみましたが、無理かもしれませんね。。。

引用返信 [メール受信/OFF] 削除キー/
■4607 / inTopicNo.28)  Re[7]: 改めて質問です。多重化と中止表の関係について
□投稿者/ kirikiri -(2009/04/07(Tue) 16:58:09)
    No4592に返信(オヨヨさんの記事)
    オヨヨさんありがとうございます。

    確かに添付頂いたサンプルでうまくいきそうです。
    ただ、フィールド数が多数過ぎるのとイベントが頻発するので、
    自作で管理することに不安を覚えます。

    例えば上書き保存をしたら変更履歴を初期化してやらなければ
    いけないだろうとか色々考えてやらなければなりませんよね!?

    もし見落としがあると破棄終了されてしまいます。

    トランザクションの管理もある意味自作で管理と言えるかもしれません?
    私はトランザクションを使った事が無いので、どのように運用する事が
    本来のやり方なのか分からず、こう思うのですが・・・

引用返信 [メール受信/OFF] 削除キー/
■4611 / inTopicNo.29)  Re[8]: 改めて質問です。多重化と中止表の関係について
□投稿者/ オヨヨ -(2009/04/08(Wed) 18:17:39)
    > ただ、フィールド数が多数過ぎるのとイベントが頻発するので、
    > 自作で管理することに不安を覚えます。

    桐のB**みたいなので、とりあえずの対応サンプルです。
    KKKに強く要望したほうがいいと思います。

    又、イベントの頻発については、気になるのであれば、1回でも変更を
    感知したら入力前後イベントを外せばいいと思いますが…
    どっちにしろ項目が多数であればファミリ利用ですね。

    > 例えば上書き保存をしたら変更履歴を初期化してやらなければ
    > いけないだろうとか色々考えてやらなければなりませんよね!?

    変更履歴をどういう風に作っているのでしょうか。
    入力者ID,入力日時,入力項目etc
    逆にそちらのほうが興味あります。

    > トランザクションの管理もある意味自作で管理と言えるかもしれません?
    > 私はトランザクションを使った事が無いので、どのように運用する事が

    普通は桐が管理することなので、KKKに要望したほうがいいと思います。
    桐のトランザクションは
    ・トランザクションは、一連の更新操作をひとつの処理単位としてまとめるとき
    に使用します。すべての操作が成功したかどうかに応じて、更新結果を表に反映
    させることができます。
    なのでkirikiriさんの用途には合っていないような感じ…
引用返信 [メール受信/OFF] 削除キー/
■4612 / inTopicNo.30)  Re[6]: 改めて質問です。多重化と中止表の関係について
□投稿者/ homepiyo -(2009/04/08(Wed) 20:54:51)
    こんにちは。

    多重化についてはよく分からないのですが、
    フォームのコマンドボタンで多重化_フォーム編集で多重化したのではいけないでしょうか???

引用返信 [メール受信/OFF] 削除キー/
■4613 / inTopicNo.31)  Re[7]: 改めて質問です。多重化と中止表の関係について
□投稿者/ homepiyo -(2009/04/08(Wed) 22:29:43)
    2009/04/08(Wed) 22:34:12 編集(投稿者)

    No4612に返信(homepiyoさんの記事)

    >ただ、サンプルだと自身の表を絞り込んだり検索したりしているので、
    >大量データになった時や絞り込みを行っている場合に負荷がかったり、
    >検索対象が絞り込まれていて上手くいかないなどがでてくるので、
    >多重化して多重化表の方で確認の処理をさせようと考えています。

    多重化せずにボタン(変数)でチェックをする・しないの方法はどうでしょうか。

sample03_002.lzh
/15KB
引用返信 [メール受信/OFF] 削除キー/
■4614 / inTopicNo.32)  Re[6]: 改めて質問です。多重化と中止表の関係について
□投稿者/ 通りすがり -(2009/04/08(Wed) 23:45:14)
    2009/04/09(Thu) 11:20:22 編集(投稿者)

    > メインテーブルの更新がある状態でフォームを閉じる場合、上書き保存の確認用ダイアログを出すことなんです。
    特定の多重化表からの更新だけ区別するって意味なら、無理でないかなぁ?

    多重化表1・多重化表2、どっちで編集しても区別は無い訳で、
    その時点までの編集を破棄終了(中止 表)したのに、後から遡って保存されちゃったらマズイじゃない?
    逆に、その時点までの編集を保存終了(終了 表)したのに、後から遡って破棄されちゃったら、それもマズイし…

    多重化されてたら原則共有時と同じ扱いってことで、
    破棄終了(中止 表)なんてしたら、その瞬間に閉じない方の表データ表示が変更破棄された時点に戻る訳でないから表示上不整合発生
    (専有なら全体的に専有で、、破棄終了なら全体的に破棄終了、保存終了なら全体的に保存終了)
    破棄・保存を指示しないで多重化表の一部を閉じるコマンドがあれば、解り易いんだろうけど

    > メインテーブルの更新がある状態でフォームを閉じる場合、上書き保存の確認用ダイアログを出すことなんです。
    専有なら多重化した表は個々に扱わずに、閉じる時は元フォームからでも全体をまとめて全部の多重化表を閉じれば、
    テーブルデータ更新ある場合だけ確認用ダイアログ出るんじゃないの?
    (メインテーブルも何も、テーブルは1つだから、)
引用返信 [メール受信/OFF] 削除キー/
■4625 / inTopicNo.33)  Re[7]: 改めて質問です。多重化と中止表の関係について
□投稿者/ kirikiri -(2009/04/10(Fri) 14:11:06)
    ■4611への返信 オヨヨさん

    トランザクションの解説ありがとうざいます。
    今回の問題とは関係の無いコマンドのようですね。
    とても分かりやすく、助かりました。

    変更履歴という表現がいけませんでした。
    勘違いをさせてしまったようですみません・・・
    オヨヨさん作のサンプルイベントを拝見させて頂いたのですが、
    入力前と入力後で変更が加わっていたら&STRに変更有と代入し、
    フォームを閉じる時に&STRが変更有だったらダイアログ出力
    という処理だったかと思います。←この処理を変更履歴と表現していました。


    ■4613への返信 homepiyoさん

    リアルタイムでのチェックが理想なので多重化が上手く運用できればよかったのですが、
    難しい場合には、チェックをする・しないも考慮に入れる必要があるかもしれませんね・・・
    homepiyoさんには、大変助けられました。
    ありがとうございます。



    ■4614への返信 通りすがりさん

    通りすがりさんのおっしゃることはその通りです。
    ただ、少し誤解されているようです。
    実際に試していただければわかると思いますが、
    通りすがりさんの下記コメントの場合でも確認用ダイアログが出ません。
    そして、それが今回の問題でもあり、バグでは?という意見もあります。
    なお、下記の場合は問答無用(ダイアログ出ずに)で上書き保存されると思います。

    >専有なら多重化した表は個々に扱わずに、閉じる時は元フォームからでも全体をまとめて全部の多重化表を閉じれば、
    >テーブルデータ更新ある場合だけ確認用ダイアログ出るんじゃないの?


    皆様、本当に色々とありがとうございました。
    皆様の意見も視野に入れて、もう少し試行錯誤してみようと思います。

引用返信 [メール受信/OFF] 削除キー/
■4631 / inTopicNo.34)  Re[8]: 改めて質問です。多重化と中止表の関係について
□投稿者/ 通りすがり -(2009/04/10(Fri) 19:44:53)
    確認して書いたつもりなんだけど、、
    今やってみたら、ダイアログ出ない…ゴメンね
    イベントチェックボックスがオフになってて多重化してなかったorz

    × 多重化されてたら原則共有時と同じ扱い
    ○ 多重化されてたら共有時と同じ扱い

    この動作は製品の仕様です(MS風に)
引用返信 [メール受信/OFF] 削除キー/
■4648 / inTopicNo.35)  Re[12]: 改めて質問です。多重化と中止表の関係について
□投稿者/ ONnoji -(2009/04/13(Mon) 11:24:51)
    >>フォームの編集対象表を多重化した場合、
    >>フォームを閉じるまで多重化した表を閉じなければ良いんでしょうけれど…。

    #表番号取得( )関数を利用すれば、多重化した表が存在するか否か判定ができますね。

    これ便利そうですよ。

    (例)

    #表番号取得( "Jusho.tbl", 2 ) → n(多重化されている)
引用返信 [メール受信/OFF] 削除キー/
■4649 / inTopicNo.36)  一応デケタかな??
□投稿者/ 通りすがり -(2009/04/13(Mon) 13:54:53)
    2009/04/13(Mon) 14:33:47 編集(投稿者)

    多重化表がウィンドウを持たずに、ビューが[イベント処理]になってると共有扱いされるみたい
    [イベント処理]ビューを閉じようにも、保存か破棄かの選択を迫られる
    [表編集]ビューに変えて閉じる

    なんか桐を騙してるみたいで気が引けるけど、


    作業終了後に元フォームを閉じる
    【閉じる】コマンドボタン作って以下設定

    1.手続き実行 ウインドウ作成終了
     proc ウィンドウ作成終了()
      編集表 多重化表の表番号
      ウインドウ作成 表,ハンドル = &hWnd  *多重化表のビューが[イベント処理]から[表編集]になる
      ウィンドウ終了 &hWnd
     end
    2.閉じる
引用返信 [メール受信/OFF] 削除キー/
■4653 / inTopicNo.37)  Re[7]: 一応デケタかな??
□投稿者/ ONnoji -(2009/04/13(Mon) 21:33:56)
    2009/04/13(Mon) 21:35:22 編集(投稿者)

    >多重化表がウィンドウを持たずに、ビューが[イベント処理]になってると共有扱いされるみたい
    > [イベント処理]ビューを閉じようにも、保存か破棄かの選択を迫られる
    > [表編集]ビューに変えて閉じる
    > なんか桐を騙してるみたいで気が引けるけど、

    それもひとつの方法ですね。

    それにしても、多重化は謎が多いですね。
引用返信 [メール受信/OFF] 削除キー/
■4655 / inTopicNo.38)  Re[7]: 一応デケタかな??
□投稿者/ kirikiri -(2009/04/14(Tue) 13:41:00)
    No4649に返信(通りすがりさんの記事)
    通りすがりさんありがとうございます。
    ただ、少し理解が難しく行き違いになっているかもしれませんが?
    実際にやってみた報告です。

    結論は、
    下記方法でも「保存か破棄かの問い合わせダイアログ」が出ませんでした。

    動きをみていると一度でも多重化をしたら、
    その多重化表が開いていようが閉じていようが
    「保存か破棄かの問い合わせダイアログ」は二度と
    出現しなくなるようです。
    なので、作成して頂いたサンプルのように多重化表に
    ウィンドウ作成→終了→元フォームを閉じるとしても
    その前に多重化されているので、何をしようがダメなようです。
    唯一、可能性があるとすれば、元フォームを表編集にしてから閉じることが
    できれば「保存か破棄かの問い合わせダイアログ」がでるような気がしますが、
    表編集にした瞬間にイベントが中断するような気がします?(試していませんが・・・)

    >作業終了後に元フォームを閉じる
    >【閉じる】コマンドボタン作って以下設定

    よろしくお願いいします。
引用返信 [メール受信/OFF] 削除キー/
■4658 / inTopicNo.39)  Re[8]: 一応デケタかな??
□投稿者/ 通りすがり -(2009/04/14(Tue) 14:28:12)
    動作確認したのはコレだ、想定通りに動くぞ、先のはハショって書いた
    ↓ 

    1.手続き実行 ウィンドウ作成
     proc ウィンドウ作成()
      編集表 多重化表の表番号
      ウインドウ作成 表,ハンドル = &hWnd  /* 多重化表のビューが[イベント処理]から[表編集]になる */ 
     end

    2.手続き実行 ウィンドウ終了
     proc ウィンドウ終了()
      ウィンドウ終了 &hWnd
     end

    3.閉じる
引用返信 [メール受信/OFF] 削除キー/
■4659 / inTopicNo.40)  (削除)
□投稿者/ -(2009/04/14(Tue) 14:46:32)
    この記事は(投稿者)削除されました
引用返信 [メール受信/OFF] 削除キー/

<前の20件 | 次の20件>

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

[このトピックに返信]
Mode/  Pass/

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

- Child Tree -
- Antispam Version -