对于自动日期\时间,我们在 SQL 中使用 TIMESTAMP 数据类型。什么相当于 MS Access 2007 中的该数据类型...
2 回答
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 中创建审计跟踪的大量文章。
DateTime 是 Access 中唯一基于日期的数据类型。然后,您可以将该字段格式化为“常规日期”或“长时间”以捕获到秒。我不认为 Access 比这更准确。