对于自动日期\时间,我们在SQL中使用TIMESTAMP数据类型。什么等同于MS Access 2007中的数据类型...
答案 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比这更准确。