Windows 8 & Office 2013 Access 2013

レコードの更新日時を保存する

投稿日:2017年1月7日 更新日:

Accessで更新日時を保存したいということは多いですね。

レコードが更新された日時をテーブルに保存する方法です。

テーブルに[更新日時]フィールドを追加


まず、テーブルに[更新日時]という[日付/時刻型]のフィールドを追加します。

テーブルのデザインビュー

フォームに[更新日時]を追加

フォームに[更新日時]フィールドを追加します。

単票フォーム

参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。

[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い

Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。従来からAccessを使用している方に ...

続きを見る

更新前処理のイベントプロシージャ

フォームをデザインビューで開いて、[フォーム]プロパティを表示します。

[F4]キーを押すと、プロパティを表示できます。

[イベント]タブの[更新前処理]の[…]をクリックします。

フォームのプロパティ[更新前処理]

[ビルダーの選択]から[コードビルダー]を選択して[OK]ボタンをクリックします。

[ビルダーの選択]から[コードビルダー]を選択

VBEが表示されます。

そして、以下のように入力します。

[更新日時]=Now()

イベントプロシージャ

VBEを閉じると、フォームのプロパティの[更新前処理]に[イベントプロシージャ]と表示されます。

フォームのプロパティ[更新前処理]

これで、レコードが更新された日時を保存することができます。

フォームにテキストボックス[更新日時]がなくてもテーブルには保存されます。

以下の記事では、更新日時の取得を[埋め込みマクロ]を使って解説しています。

変更履歴テーブルの作成

追加クエリを使用して、テーブルに変更履歴を残す方法です。 参考ここでは、ウィンドウの表示は[ウィンドウを重ねて表示する]の設定にしています。 ...

続きを見る

更新前処理と更新後処理のイベント発生時

更新前処理(BeforeUpdate)

レコードの内容を更新した後、更新内容が反映される直前

更新後処理(AfterUpdate)

レコードを修正した後、実際にレコードの更新が行われた直後

参考これまで私は、フォームのテキストボックスの[更新後処理]に書き込んでいたのですが、[更新前処理]に書き込むほうがいいようです。

レコードの更新日時を自動的に表示するには

また、テキストボックスではなく、フォームの更新前処理に書き込むと1行だけで済みます。

下記はMicrosoftのページですが、マクロを使用する方法で解説してあります。

レコード変更時に日時を保存する(Microsoft)

Excelでは、ユーザー定義関数やマクロを使って更新日時を表示して保存することができます。

最終更新日時を自動的に保存するには

Excelでセルに最終更新日時を自動的に表示できるようにしたいという場合の方法です。 ユーザー定義関数を使う方法と マクロを作成後、ボタンを ...

続きを見る

Wordでも自動的に最終更新日時を表示して保存することができます。

最終更新日時を自動で表示(SaveDateフィールドを使用)

文書を開いたときに、最終更新日が分かると便利ですね。 [SaveDate]フィールドを使って最終更新日を自動的に表示できます。 保存した文書 ...

続きを見る

また、PowerPointのスライドには[オブジェクトの挿入]機能を使って、Wordのフィールドコードを挿入して最終更新日時を表示することができます。

スライドに最終更新日時を挿入するには

PowerPointには、ヘッダーとフッターに自動更新日を表示することができますが、更新していなくてもファイルを開くたびに更新されてしまいま ...

続きを見る

バージョンの確認

もっと理解したいあなたへ

おすすめ記事と広告

Profile

執筆者/はま

-Windows 8 & Office 2013 Access 2013

Copyright © 2001-2021 初心者のためのOffice講座 All Rights Reserved.

Copyright© 初心者のためのOffice講座 , 2021 AllRights Reserved Powered by AFFINGER4.