1

对于自动日期\时间,我们在 SQL 中使用 TIMESTAMP 数据类型。什么相当于 MS Access 2007 中的该数据类型...

4

2 回答 2

3

Access 中没有确切的等价物。
澄清一下,SQL 中的 TIMESTAMP 并不总是可用的日期/时间,例如在SQL Server 中,它已被弃用并等效于ROWVERSION,它始终返回唯一值并且不用于跟踪日期和时间,即使它的值是松散派生的从当前时间开始。

但是,假设您要跟踪记录的更改。
在 Access 中,您可以通过以下方式自动将字段设置为 DateTime:

首先,您可以将=Now表中的 DateTime 字段指定为默认值。这将分配创建记录的当前时间(但不会在记录更改时自动更新)。

为了在您进行更改时记录当前日期时间,您必须在 VBA 中或通过宏进行编程:

  • 浏览记录集时,只要您对记录进行更改,只需更新您的!ModifiedDateTime 或(无论您如何称呼您的字段)。

  • 当您的表/查询绑定到表单时,您可以通过处理表单的事件让表单更新您的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 回答