Access2007からのファイル形式である[.accdb]では、データ型の[メモ型]で変更履歴を保存することができます。
参考Access2013以降は、[長いテキスト]という名称になっています。
データ型で[メモ型]を選択
テーブルの[備考]フィールドでデータ型[メモ型]を選択します。
フィールドプロパティの[追加のみ]で[はい]を選択します。
右側のヒントには、以下のように記されています。
このフィールドの履歴を収集しますか?
参考[商品ID]は数値型です。オートナンバー型でも構いません。
また、Access2013以降は、[メモ型]は[長いテキスト]という名前になっています。
以下の画像はAccess2013です。
参考ここではウィンドウの表示は、[タブ付きドキュメント]の設定にしています。
-
[タブ付きドキュメント]と[ウィンドウを重ねて表示する]の違い
Access2007以降、オブジェクトを表示すると、タブ付きウィンドウで表示されるようになっています。 昔からAccessを使用している方に ...
コマンドボタンの[クリック時]イベントに入力
このテーブルを基にフォームを作成します。
フォームにコマンドボタンを設置して、コマンドボタンのプロパティを表示します。
プロパティは[F4]キーで表示/非表示を切り替えられます。
[イベント]タブの[クリック時]の[ビルダー選択]ボタン[…]をクリックします。
[ビルダーの選択]ダイアログボックスが表示されますので、[コードビルダー]を選択して[OK]ボタンをクリックします。
ColumnHistory(テーブル名,フィールド名,条件)とします。
Application.ColumnHistory メソッド (Access) | Microsoft Learn(Microsoft)
また、履歴がない場合は、メッセージを表示するようにします。
If IsNull([備考]) Then
MsgBox "履歴はありません"
Else
MsgBox ColumnHistory("T_商品", "備考", "[商品ID]=" & [商品ID])
End If
プロパティには、以下のように[イベントプロシージャ]と表示されます。
動作を確認
フォームビューに切り替えて、[履歴の表示]ボタンをクリックすると、以下のようにメッセージウィンドウが表示されます。
デザインビューからフォームビューに切り替えるには、[F5]キーを使用すると効率的です。
履歴ウィンドウは、ドラッグで移動できます。
フィールド[備考欄]が空白の場合は、[履歴はありません]のメッセージが表示されます。
参考Access2013以降は、[メモ型]はありません。
[長いテキスト]という名前に変更されていますが、同じように履歴を表示することができます。
Access 2013 で廃止、変更された機能 - Microsoft サポート(Microsoft)
以下の画像は、Access2013です。
変更履歴テーブルを作成することもできます。以下の記事で解説しています。
-
追加クエリを使った変更履歴テーブルの作成
追加クエリを使用して、テーブルに変更履歴を残す方法です。 履歴テーブルを作成して、単票フォームの更新日のテキストボックスに更新日を取得するマ ...
テーブルのデータマクロを使用して、変更履歴を保存することもできます。
-
更新日時を指定テーブルやフィールドへ自動で保存するデータマクロ
Accessのテーブルのデータを処理するためのマクロのことを[データマクロ]と呼びます。 テーブルで行った削除や追加、更新などの実行時に、設 ...