• ベストアンサー

ファイルメーカー10で、フィールド(無理ならばレコード)を変更した場合

ファイルメーカー10で、フィールド(無理ならばレコード)を変更した場合、変更した日時とユーザーが履歴として残るようにするにはどうすればよいでしょう? 電子カルテとまではいきませんが、患者の情報を登録するのにファイルメーカーを使用してます。いろんな患者のデータを入力していますが、たとえば薬剤のデータを誰がいつ変更したのか?という履歴を残したいのです。 フィールドの設定にて、レコードをいつ、どの端末で使用したのか?というのは出来ますが、それを履歴として残したいのとできればそれをフィールド単位で管理したいという思いがあり質問させていただきました。

質問者が選んだベストアンサー

  • ベストアンサー
  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.2

使用経験が無いということですので簡単な例を書きます。 1.履歴フィールドを作ります。テキストフィールドです。レイアウトでは複数行にします。 2.スクリプトを作ります。ステップは1個で  フィールド設定[履歴フィールド ; 履歴フィールド& ¶ & Get ( タイムスタンプ )] 3.レイアウトモードにして薬剤フィールドをクリックし、書式メニューからスクリプトトリガ  設定を選び、OnObjectModifyにチェックすると別窓が開くので2で作ったスクリプトを指定。 ブラウズモードにして薬剤フィールドの内容を変更するたびに履歴フィールドは 2010/02/01 15:10:50 2010/02/01 15:12:40 2010/02/01 15:14:20 などと蓄積されます。変数を使う方は変更前の薬剤フィールドのデータも履歴に残す場合です。

fortune777
質問者

お礼

丁寧な説明ありがとうございます。 おかげで、思い描いていた履歴がうまくとれそうです。 また何かありましたらお願いします。

その他の回答 (1)

  • chieffish
  • ベストアンサー率44% (1149/2554)
回答No.1

ネットワークは全然解りませんけど 例えば、 1.薬剤フィールドにOnObjectEnterのトリガを設定して、現在のフィールド値をグローバル変数に入れる  スクリプトを指定。 2.また別にOnObjectSaveのトリガも設定して、別フィールド1に「別フィールド1& ¶ & グローバル変数」  別フィールド2に「別フィールド2& ¶ & Get ( アカウント名 )」を入れるスクリプトを指定。 3.同様に別フィールド3に「別フィールド2& ¶ & Get ( タイムスタンプ )」入れるスクリプトも指定。 などとしておけば 変更前データ 変更したアカウント名 変更した日時 の各フィールドが複数行として蓄積されていきますよね。

fortune777
質問者

補足

回答ありがとうございます。 スクリプトトリガがありましたね。なんとかイメージがわきました。 ただお恥ずかしいのですが、スクリプトトリガと変数にかんして全くの素人です。いろいろと調べてみましたら、非常に便利な機能ですね。 とりあえず、サンプルを作ってみて変数を指定スクリプトで動きをたしかめる段階なのですが、動きがいまいちわかりません。 スクリプト>変数を設定にて、 名前:&&yakuzai 値:薬剤フィールド(これでいいんでしょうか?) 繰り返し:1 上記のように設定。さらに、スクリプトトリガにて薬剤フィールドにOnObjectEnterを設定。 で、グローバル変数で保存されているはずの値を別フィールドに保存するには、どうすればいいのだろう、、、という所で詰まっています。 基本的な部分を理解できてなくて申し訳ないです。

関連するQ&A