Access中的TIMESTAMP数据类型是什么?

时间:2013-08-16 04:14:54

标签: sql ms-access ms-access-2007

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

2 个答案:

答案 0 :(得分:3)

Access中没有确切的等效词 为了澄清,SQL中的TIMESTAMP并不总是可用的日期/时间,例如在SQL Server it is deprecated中并且相当于ROWVERSION,它始终返回唯一值,并且它不用于跟踪日期和时间,即使它的价值来自当前时间。

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

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

要在进行更改时记录当前的DateTime,您必须在VBA中或通过宏对其进行编程:

  • 在浏览记录集时,只要更改记录,只需更新!ModifiedDateTime或(无论你称之为字段)。

  • 当您的表/查询绑定到表单时,您可以通过处理表单的ModifiedDateTime事件让表单更新您的BeforeUpdate字段:

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

如果使用查询而不是表格绑定到表单,请确保该字段存在于查询中。

在Access 2010及更高版本中,您还可以使用新的数据宏(与触发器等效的Access)来记录记录更改的当前日期和时间。
这样的可移植性较差,但可能比使用VBA更可靠,因为每次修改记录时都不必记住编码(数据宏在ACE数据库驱动程序级别处理)。

如果您正在寻找的话,有关于如何在Access中创建审计跟踪的tons of articles

答案 1 :(得分:0)

DateTime是Access中唯一基于日期的数据类型。然后,您可以将该字段格式化为常规日期或长时间以捕获到秒。我不认为Access比这更准确。

相关问题