1

自動日付/時刻の場合、SQL で TIMESTAMP データ型を使用します。MS Access 2007 でそのデータ型に相当するものは何ですか...

4

2 に答える 2

3

Access には正確に相当するものはありません。明確にするために、 SQL
TIMESTAMP は常に使用可能な日付/時刻であるとは限りません。現在時刻から。ROWVERSION

しかし、レコードの変更を追跡したいとしましょう。
Access では、次の方法でフィールドを DateTime に自動的に設定できます。

=Nowまず、テーブルの DateTime フィールドの既定値として割り当てることができます。これにより、レコードが作成されたときに現在の時間が割り当てられます (ただし、レコードが変更されたときに自動的に更新されることはありません)。

変更を加えるたびに現在の DateTime を記録するには、VBA またはマクロを使用してプログラムする必要があります。

  • レコードセットを通過するときは、レコードに!ModifiedDateTime 変更を加えるたびに or (フィールドと呼んでいるもの) を更新するだけです。

  • テーブル/クエリがフォームにバインドされている場合、フォームのイベントをModifiedDateTime処理することでフォームにフィールドを更新させることができます:BeforeUpdate

    Private Sub Form_BeforeUpdate(Cancel As Integer)
        ModifiedDateTime = Now
    End Sub
    

テーブルではなくクエリを使用してフォームにバインドする場合は、フィールドがクエリに存在することを確認してください。

Access 2010 以降では、Access のトリガーに相当する新しいデータ マクロを使用して、レコードが変更された現在の日付と時刻を記録することもできます。
これは移植性が低くなりますが、VBA を使用するよりも信頼性が高くなります。これは、レコードを変更するたびにコーディングを覚える必要がないためです (データ マクロは ACE データベース ドライバー レベルで処理されます)。

探しているものがあれば、Access で監査証跡を作成する方法に関する記事がたくさんあります。

于 2013-08-16T04:57:02.250 に答える
0

DateTime は、Access で唯一の日付ベースのデータ型です。次に、フィールドを一般的な日付または長い時間のいずれかにフォーマットして、秒単位でキャプチャします。Access がそれ以上に正確になるとは思いません。

于 2013-08-16T14:59:14.327 に答える