みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
こんにちは。
Win10Pro、FMP11を使用しています。
■テーブルA
フィールド名 タイプ
-------------------------------------------------------------------------------------------
更新日時 タイムスタンプ (入力値の自動化-修正情報-タイムスタンプ(日付と時刻))
フィールドA テキスト
フィールドB テキスト
フィールドC テキスト
フィールドD テキスト
・
・
のようにした場合、
フィールドA~Dのどの値が更新されても更新日時は更新されると思いますが、これを
「フィールドAまたはBが更新された場合は更新日時が更新されるが、
それ以外のフィールドが更新されても更新日時は更新されない」
のようにする事は可能でしょうか?
思いついた方法としては、
・フィールド「更新日時」は入力値の自動化を行わない。
・現在のタイムスタンプでフィールド「更新日時を」上書きするスクリプトを
任意のフィールドにスクリプトトリガ「OnObjectModify」で設定する。
という案ですが、既に既存のスクリプトトリガが設定されているフィールドがあったり
対象項目が結構多い為、他の方法で解決出来ないかと思ってこちらに書き込ませて頂きました。
不勉強ですみませんがご教示頂けると幸いです。
よろしくお願いいたします。
フィールドA フィールドB を、主キーでつないだ別テーブルにするのが一番簡単でしょう。
Offline
Shin様
早速のご連絡、大変ありがとうございます。
こちらは既に運用を開始している為、別テーブルに分割するのが難しい状況です。
(フィールドやスクリプト、リレーションの追加なら可能です)
この場合、解決は難しいでしょうか?
計算値自動入力で
Evaluate ( "Get(タイムスタンプ)" ; [ フィールドA ; フィールドB ] )
とかでは。
以下とか、
専用のタイムスタンプフィールドを作成し、
入力値の自動化 計算式 で以下を設定
Evaluate ( "Get (CurrentTimestamp)" ; [フィールドA ; フィールドB] )
「□フィールドに既存の値が存在する場合は置き換えない」のチェックは外す。
Offline
himadanee様 qb_dp様
ありがとうございます!
教えて頂いた方法にて無事解決いたしました!
大変助かりました!
Pages: 1
[ Generated in 0.004 seconds, 7 queries executed - Memory usage: 510.76 KiB (Peak: 517.76 KiB) ]