-PR-
解決済み

ACCESSでデータ変更箇所が分かるようにする方法

  • 困ってます
  • 質問No.43620
  • 閲覧数1399
  • ありがとう数3
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 94% (33/35)

ACCESS初心者です。
顧客住所録管理をしていて、フォームで既存レコードのどこかのフィールドを変更したら、”変更日時”のフィールドに日時が入るように指定しました。
(全てのフィールドのプロパティ更新後処理に
          Me![更新日時].Value = Now()     と設定。)
変更日時で抽出をかければ特定の日以後に変更のあったデータを抽出してくれるの
ですが、どのフィールドが変更になったかは分かりません。
そこで、変更があったフィールドに色をつけるということはできないものかと考えました。
フォームの条件付書式で条件が真のときに色を塗るっていうのがありましたよね。
あんな感じのことがしたいのですが・・・。
各フィールドの更新後処理になにかVBAを付け加えればいいのでしょうか?
初心者なもので質問が的を得ていないのかもしれませんが、どなたかご教授頂ける方、よろしくお願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1

単票フォームの場合ですが
各フィールドの更新後イベントで
フィールド名.OldValueプロパティで変更前の値を取得できます。これと現在の値を比較して異なっていればフィールド名.BackColorで背景色を変更するっていうのはどうでしょう?

帳票フォームの場合は使えませんが。
お礼コメント
fujimeg

お礼率 94% (33/35)

ありがとうございました。
早速チャレンジしてみます。
投稿日時 - 2001-02-23 09:31:25
関連するQ&A
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.2
レベル13

ベストアンサー率 46% (643/1383)

これは、レコードの更新日時のほかに、各フィールドことに更新日時を保存するしかないでしょうね。 各フィールドの更新後処理に、 sub ほげ_Afterupdate()  me![ほげ更新日時] = now() end sub みたいなコードを書いてやって、これが指定日以降のものだけを色換えするように条件付書式を設定してやると。 それ以外の方法としては、フォームのAfterUpdate時に ...続きを読む
これは、レコードの更新日時のほかに、各フィールドことに更新日時を保存するしかないでしょうね。

各フィールドの更新後処理に、
sub ほげ_Afterupdate()
 me![ほげ更新日時] = now()
end sub
みたいなコードを書いてやって、これが指定日以降のものだけを色換えするように条件付書式を設定してやると。

それ以外の方法としては、フォームのAfterUpdate時に、#1,CHOROLYNさん方法で更新されたフィールドを特定して、更新ログのようなものを作成するとか。

ちなみに、前者は作成するのが簡単ですが、柔軟性に欠けます。後者は、作るのにそれなりの労力を必要としますが、より詳しい変更履歴を得ることが出来ます。
お礼コメント
fujimeg

お礼率 94% (33/35)

回答ありがとうございました。
どちらの方法をとるかもう少し検討してみます。
投稿日時 - 2001-02-26 11:25:49


このQ&Aのテーマ
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


新大学生・新社会人のパソコンの悩みを解決!

いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ