Windows7 & Office2010 Access2010

Print Friendly, PDF & Email

変更履歴テーブルの作成

投稿日:

追加クエリを使用して、テーブルに変更履歴を残す方法です。
テーブル

[T_売上]テーブルは、下のようになっています。[ID]が主キーとなっています。
デザインビュー

この[T_売上]テーブルをコピーして、[T_売上の履歴]テーブルを作成します。
[ID]の主キーは削除して、重複のレコードが保存できるようにします。
履歴テーブル作成

[F_帳票]フォームの[開く]ボタンをクリックすると[F_単票]フォームが開くように設定しています。
これについては、帳票フォームから単票フォームを起動するにはを参照してください。

この[F_単票]フォームで[担当者]や[数量][商品]を変更したら、更新日時が自動取得され、そのデータが[T_売上の履歴]に保存されるようにします。
単票フォーム

[更新日時]が自動的に取得されるように[担当者][数量][商品]コントロールの[更新後処理]イベントに以下のように入力します。
VBA

追加クエリを作成します。[T_売上]テーブルを元に下のように設定します。[デザイン]タブにある[クエリの種類]グループにある[追加]ボタンをクリックします。[追加]ダイアログボックスで[追加先]の[テーブル名]に[T_売上の履歴]を選択します。[OK]ボタンをクリックしてクエリに名前を付けて保存します。
追加クエリ

[追加クエリ]を実行するためのマクロを下のように作成します。
マクロ

このまま[F_単票]の更新後処理にマクロを指定してもいいのですが、このままだと
プロパティシート 更新後処理

[追加クエリを実行すると、テーブルのデータが変更されます]と[1件のレコードを追加します]という、以下のメッセージがクエリを実行する度に表示されるようになります。
メッセージウィンドウ

メッセージウィンドウ

面倒なので、マクロを下のようの編集します。マクロは右側にマウスをポイントすると[↑][↓]の矢印が表示されますので、この矢印で順番を変更することができます。
アクションクエリ実行時の確認メッセージを非表示にするも参考になると思います。
履歴 マクロ

テーブル[T_売上の履歴]を表示すると、下のようにデータを更新したレコードが追加されています。[更新日]がないレコードは削除するように削除クエリもマクロに取り込むといいですね。また、このテーブルを元にフォームを作成し、ボタンをクリックして履歴を閲覧できるようにすると、より便利です。
履歴テーブル

参考Officeのバージョンによって操作が異なる場合があります。以下の記事で、お使いのOfficeのバージョンを確認する方法を解説しています。

Office(Word、Excel、PowerPointなど)のバージョンを確認する方法

Microsoft Officeも時を得て、大きく様変わりしてきました。トラブルを解決しようとするとき、あるいは、何かの操作を探すときなど、 ...

続きを見る

あなたへのおすすめ

関連記事

Excelからインポートするとフィールドの順番が変わる

Access2010で、非常に困ったことがあります。 Excelのワークシートからデータをインポートすることは、多いですね。 [外部データ] ...

Office2010のガイド

Office2003からOffice2010へ移行された方は、Microsoftのガイドが便利です。 Office2003のメニューやツール ...

途中のページからページ番号を振りたい

Wordの[ページ設定]ダイアログボックスには、[先頭ページのみ別指定]の項目があり、このチェックボックスをオンにすると、先頭ページにはペー ...

オートコンプリートのリストを消す

Outlook2010では、オートコンプリートの候補に表示されるリストをボタン一つで削除できます。 (オートコンプリートというのは、アドレス ...

ビデオのスタイルの種類

ビデオのスタイルの種類が増えました。 [書式]タブの[ビデオスタイル]グループにある▼ボタンをクリックします。 41個のスタイルから選択する ...

-Windows7 & Office2010 Access2010

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

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