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

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

フォームとマクロを使用して、テーブル内のレコードが最後に変更された日時を記録できます。フォームを使用してレコードを変更すると、マクロによって日時がテーブルに保存されます。最後に行われた変更の日時のみが保存されます。

ヒント: レコード作成日時のみを記録し、変更日時を記録しない場合は、テーブルにフィールドを作成し、フィールドの "既定値" プロパティを使って各レコードの作成時のタイムスタンプを記録して、使用します。詳しくは、「参照」のリンク先をご覧ください。

この記事の内容

概要

始める前に

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

日付と時刻を記録するマクロを作成する手順 2。

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

概要

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

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

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

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

ページの先頭へ

はじめに

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

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

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

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

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

    詳しくは、「参照」のリンク先をご覧ください。

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

ページの先頭へ

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

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

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

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

    • の日付を格納するフィールドを作成します   。デザイン ウィンドウの [フィールド名] 列で、新しい行に変更された日付を入力し、[データ型] 列で日付/時刻を選択します。

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

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

ページの先頭へ

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

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

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

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

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

  3. [アクション] 列の最初の空の行の値の代入を選択します。

  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 サポートの担当者におつなぎいたします。

×