メイン コンテンツへスキップ
サポート
Microsoft アカウントでサインイン
サインインまたはアカウントを作成してください。
こんにちは、
別のアカウントを選択してください。
複数のアカウントがあります
サインインに使用するアカウントを選択してください。

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

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

この記事の内容

概要

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

手順 1: テーブルにフィールドを追加する    記録する前に、日付と時刻を保存する場所が必要です。 最初の手順では、追跡するレコードを含むフィールドをテーブルに作成します。 日付と時刻をキャプチャするには、日付に 1 つのフィールド、時刻に 1 つのフィールドを作成します。 どちらか一方のみをキャプチャする場合は、必要なフィールドのみを作成できます。

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

手順 3: データ入力フォームにマクロを追加する    マクロは、テーブル内のレコードの編集に使用するフォームの [更新前 ] フォーム プロパティに追加します。 他のフォームを使用してテーブル内のレコードを編集する場合は、それぞれのフォームにマクロを追加することもできます。 これにより、レコードの編集に使用するフォームに関係なく、日付と時刻をキャプチャできます。

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

ページの先頭へ

始める前に

開始する前に、次のことを検討してください。

  • ユーザーは、データベースでマクロを有効にする必要があります。 ユーザーがデータベースを開き、マクロを有効にしない場合、マクロはレコードにタイムスタンプを設定しません。 データベースを 信頼できる場所に格納すると、マクロが自動的に有効になります。

  • ユーザーがレコードを編集しても、レコードをタイムスタンプするマクロを含むデータ入力フォームを使用しない場合、ユーザーが編集したレコードにはタイムスタンプは付けされません。

  • 日付と時刻はテーブル フィールドに格納されるため、レコードが変更されるたびに、それらのフィールドの値が上書きされます。 つまり、最新の変更の日付と時刻のみを格納できます。

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

  • データベース ファイルのファイル形式が古く、ユーザー レベルのセキュリティを使用している場合は、テーブルのデザインとそのレコードの編集に使用されるフォームを変更するためのアクセス許可が必要です。

ページの先頭へ

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

情報を格納するフィールドを作成します。

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

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

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

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

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

ページの先頭へ

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

フィールドを作成したら、それらのフィールドにタイムスタンプを設定するマクロを作成します。 マクロを他のテーブルと共に再利用できるようにするには、テーブル名ではなくフィールド名のみを参照してください。

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

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

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

  3. マクロ ウィンドウで、マクロ アクションの一覧を開き、[ SetValue] を選択します。

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

    1. まず、使用可能なすべてのマクロ アクションを表示します。 SetValue アクションは安全でない可能性があると見なされ、データを変更できるため、既定では非表示になります。

    2. 次に、この一覧から SetValue アクションを選択します。

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

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

  6. 次のマクロ アクションの一覧を開き、[ SetValue] を選択します。

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

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

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

ページの先頭へ

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

マクロを作成した後、ユーザーが関連テーブルにデータを入力するために使用する各データ入力フォームにマクロを追加します。

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

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

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

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

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

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

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

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

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

  9. マクロが正しく動作していることを確認するには、フォーム ビューでフォームを開き、レコードを編集してから、Shift キーを押しながら F9 キーを押します。 レコードを編集した日付と時刻が表示されます。

ページの先頭へ

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。

コミュニティは、質問をしたり質問の答えを得たり、フィードバックを提供したり、豊富な知識を持つ専門家の意見を聞いたりするのに役立ちます。

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

言語の品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?
[送信] を押すと、Microsoft の製品とサービスの改善にフィードバックが使用されます。 IT 管理者はこのデータを収集できます。 プライバシーに関する声明。

フィードバックをいただき、ありがとうございます。

×