2 返信 最新の回答 日時: Feb 5, 2014 5:21 AM ユーザー:Nu-nrg

    スクリプトで新規レコード作成後、中止にした場合のレコード破棄につい...

    Nu-nrg

      タイトル

      スクリプトで新規レコード作成後、中止にした場合のレコード破棄について

      フォーラムに投稿

           このところ投稿しまくりで恐縮です。

           スクリプトで、新規ウィンドウを開いた上で、
           新規レコード作成後(レイアウト設定では自動保存にしてません)、
           カスタムダイアログ等で、処理を中止にした場合、

           レコードは自動保存されていませんのでレコードは新たに作成されていませんが、
           ウィンドウを閉じたい場合に、保存するかどうか問われてしまいます。

           ウィンドウを閉じるステップの前に、
           レコード/検索条件削除[ダイアログなし]を挿入すれば、ウィンドウは何も聞かれず閉じられますが、

           レコードを確定してないのに、レコード削除ということがちょっとしっくりきません。
           動きは問題ないのですが、こんなものでしょうか(笑)

           もう1つついでにお聞きしたいのですが、
           新規レコード後に、新規ウィンドウをしたほうが良いのか、
           新規ウィンドウ後に(同じレコードが表示される)、新規レコードしたほうが良いのか、
           どちらがいいのでしょう。。。

        • 1. Re: スクリプトで新規レコード作成後、中止にした場合のレコード破棄につい...
          sago350@未来Switch

               一言で言うと、そういうもんです。

               疑問に思っていらっしゃるのは、FileMakerのレコードが確定するタイミングだと思います。
               他のデータベースで言うと、コミットのタイミングというやつです。
               FileMakerは下記の場合にコミットします。
               ・何もない所クリックした時
               ・レコードを移動した時
               ・レイアウトを変えた時
               ・(確定するキー入力もある)

               マニュアルだとこの辺


               で、ウィンドウと閉じる時にそのレコードから移動しているので、コミットされているということになります。
               これは、レイアウトに対してOnRecordCommitのスクリプトトリガのタイミングでカスタムダイアログを出すスクリプトを仕込めば、どういうタイミングでコミットされるかというのが解るはずです。
               あ、レコード削除じゃなくて、レコード復帰でもOKです。こっちなら納得出来るかと。結果は同じですが。

               ■新規レコード後に新規ウィンドウした方がいいか?
               どういう状況なのか解らないのでなんとも。ケースバイケースです。
                

          • 2. Re: スクリプトで新規レコード作成後、中止にした場合のレコード破棄につい...
            Nu-nrg

                 なるほど。
                 新規レコードのときに、あるフィールドにカーソルが入ってますが、
                 何もせずに、ウィンドウを閉じるでも、保存するか聞かれちゃうのは、
                 保存せずにウィンドウを閉じることによって、前のレコードが表示される(実質移動されることになる)、
                 ということになるんですね。
                 合点いたしました!