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

注: 最新のヘルプ コンテンツをできるだけ早く、お客様がお使いの言語で提供したいと考えております。このページは、自動翻訳によって翻訳されているため、文章校正のエラーや不正確な情報が含まれている可能性があります。私たちの目的は、このコンテンツがお客様の役に立つようにすることです。お客様にとって役立つ情報であったかどうかを、このページの下部でお知らせください。簡単に参照できるように、こちらに英語の記事があります。

履歴の記録のする Access テーブルのレコードが最後に変更された、マクロを使用してフォームを使用しています。レコードを変更するフォームを使用して、マクロはテーブル内に日付と時刻を格納します。最新の変更の日付と時刻のみが格納されます。

注: この記事の手順では、デスクトップの Access データベースで使用するためです。

この記事の内容

概要

始める前に

手順 1: タイムスタンプ フィールドをテーブルに追加する

手順 2: 日時を記録するマクロを作成する

手順 3: フィールドとマクロをデータ入力フォームに追加する

概要

テーブル内のレコードが変更された日時を記録するには、次の手順を実行します。

手順 1: フィールドをテーブルに追加する    日時を記録するには、まず、保存先が必要です。最初に、日時を記録するレコードがあるテーブルにフィールドを作成します。日時を記録するには、日付用のフィールドと時刻用のフィールドを 1 つずつ作成します。日付または時刻のいずれか 1 つだけ記録する場合は、必要なフィールドだけを作成できます。

手順 2: 日時を記録するマクロを作成する    日付のみ、時刻のみ、その両方のどれを記録するかにより、マクロは 1 つまたは 2 つのアクションを実行します。マクロを作成するときは、日時を保存するフィールドだけを指定し、それらのフィールドがあるテーブルは指定しません。このようにすると、マクロを他のテーブルやフォームに簡単に再利用できます。

手順 3: マクロをデータ入力フォームに追加する    テーブル内のレコードの編集に使用するフォームの "更新前処理" フォーム プロパティにマクロを追加します。他のフォームを使用してテーブル内のレコードを編集する場合は、マクロをこれらのフォームそれぞれに追加できます。こうすると、レコードの編集に使用するフォームとは関係なく、日時を記録できます。

ヒント: レコードが作成されますが、変更するときにもかまわない場合を記録する場合は、すぐにフィールドを作成を追跡し、タイムスタンプ、フィールドの既定値] プロパティを使用してテーブルの各レコードの作成時します。

ページの先頭へ

はじめに

この手順を開始する前に、以下の注意事項を理解してください。

  • データベースでマクロを有効にする必要があります。データベースを開いたときにマクロが有効にならない場合、レコードのタイムスタンプは記録されません。データベースを信頼できる場所に保存した場合は、マクロが自動的に有効になります。

  • レコードのタイムスタンプを記録するマクロがあるデータ入力フォームを使わずにレコードを編集すると、編集したレコードのタイムスタンプは記録されません。

  • 日時はテーブルのフィールドに保存されるため、レコードが変更されるたびにこれらのフィールドの値は上書きされます。したがって、保存できるのは最後に行われた変更の日時のみです。

  • レコードの作成日時をキャプチャする場合は、したテーブルにフィールドを追加し、 Now()またはDate()にそのフィールドの既定値] プロパティを設定します。

  • データベース ファイルのファイル形式が古く、ユーザー レベル セキュリティが使用されている場合、テーブルおよびレコードの編集に使用するフォームのデザインを変更できる権限が必要です。

ページの先頭へ

手順 1: タイムスタンプ フィールドをテーブルに追加する

情報を保存するフィールドを作成します。

  1. デザイン ビューでテーブルを開きます。

  2. 次のいずれか、または両方の操作を行います。

    • 日付を保存するフィールドを作成します。    デザイン ウィンドウの [フィールド名] 列で新しい行に「変更日」と入力し、[データ型] 列で [日付/時刻型] を選びます。

    • 時刻を保存するフィールドを作成します。    デザイン ウィンドウの [フィールド名] 列で新しい行に「変更時刻」と入力し、[データ型] 列で [日付/時刻型] を選びます。

  3. Ctrl キーを押しながら S キーを押して変更内容を保存します。

ページの先頭へ

手順 2: 日時を記録するマクロを作成する

フィールドを作成した後で、これらのフィールドのタイムスタンプを記録するマクロを作成します。マクロを他のテーブルでも再利用できるようにするため、フィールド名のみを参照し、テーブル名は参照しません。

注: 日付または時刻のみを記録する場合は、不要なマクロ アクションを省いてください。

  1. [作成] タブの [その他] グループで [マクロ] をクリックします。このコマンドを使用できない場合は、[モジュール] または [クラス モジュール] ボタンの下にある矢印をクリックして、[マクロ] をクリックします。

  2. [デザイン] タブの [表示/非表示] グループで [すべてのアクションを表示] をクリックします。

  3. マクロ ウィンドウで、マクロ アクションのリストを開いて [値の代入] を選びます。

    Access 2010 のマクロ デザイン タブ

    1. 最初に、すべての利用可能なマクロ アクションを表示します。値の代入アクション起こす可能性があると見なされ、データが変更できるために、既定では、非表示します。

    2. 次に、このリストで "値の代入" アクションを選びます。

  4. [値の代入] ボックスの [アイテム] ボックスに、「変更日」と入力するか貼り付けます。

  5. [] ボックスに「Date()」と入力します。

  6. 次のマクロ アクションのリストを開き、[値の代入] を選びます。

  7. [値の代入] ボックスの [アイテム] ボックスに、「変更時刻」と入力するか貼り付けます。

  8. [] ボックスに「Time()」と入力します。

  9. Ctrl キーを押しながら S キーを押し、[名前を付けて保存] ダイアログ ボックスに「最終変更日時」と入力します。

ページの先頭へ

手順 3: フィールドとマクロをデータ入力フォームに追加する

マクロを作成した後で、該当のテーブルにデータを入力するときに使用されるデータ入力フォームにこのマクロを追加します。

  1. デザイン ビューでデータ入力フォームを開きます。

  2. [デザイン] タブの [ツール] グループで [既存のフィールドの追加] をクリックします。

  3. [フィールド リスト] の [このビューで利用可能なフィールド] で、"変更日" フィールドと "変更時刻" フィールドをフォームにドラッグします。必要に応じて、フォーム上のフィールドのサイズと位置を調整します。

  4. プロパティ シートがまだ表示されていない場合は、F4 キーを押して表示します。

  5. プロパティ シートで [選択の種類] が [フォーム] に設定されていることを確認します。

    ヒント: [選択の種類] を変更するには、目的の選択の種類をドロップダウン リストでクリックします。

  6. プロパティ シートの [イベント] タブをクリックします。

  7. [イベント] タブの [更新前処理] ボックスの矢印をクリックし、[最終変更日時] をクリックします。

  8. レコードを編集するために複数のフォームを使用する場合は、この手順をフォームごとに繰り返します。

  9. マクロが正常に機能することを確認するには、フォームをフォーム ビューで開き、レコードを編集した後に Shift キーを押しながら F9 キーを押します。レコードを編集した日時が表示されます。

ページの先頭へ

Office のスキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×