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

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

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

注:  この記事は Access アプリ (Access で設計してオンラインで公開するデータベースの一種) には適用されません。 詳細については、「Access アプリを作成する」を参照してください。

注: この記事の手順は、デスクトップの Access データベースでの使用を目的としています。Web データベースのフィールドのタイムスタンプを記録する場合は、この手順を使用しないでください。代わりに、SharePoint の [更新日時] 列を使用して、変更の日時を記録できます。詳しくは、SharePoint のヘルプをご覧ください。

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

この記事の内容

概要

始める前に

手順 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 Insider に参加する

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

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

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

×