设置计算字段,计算日期字段和当前日期时间的差异(现在函数)

时间:2016-01-19 08:46:15

标签: ms-access access-vba ms-access-2013

我有3个字段:[CreatedDateTime][ClosedDateTime][TAT] CreatedDateTime 的默认值为=Now(),因此每次添加新记录时,此字段都会使用当前 datetimestamp 自动填充。

现在第3个字段需要包含正在运行的周转时间。
虽然 CloseDateTime 仍然为空,但它应包含Now()[CreatedDateTime]字段的差异。否则,它应包含[ClosedDateTime][CreatedDateTime]的差异。

我尝试使用计算字段类型,但它不允许Now()作为函数。
所以我在值字段上使用以下公式尝试了更改前事件设置字段

IIF([ClosedDateTime]="",Now()-[CreatedDateTime],[ClosedDateTime]-[CreatedDateTime])

它接受公式,但我收到错误:

  

字段无法更新

在我尝试其他任何事情之前,有没有办法在Access中执行此操作? 或者可能有一个更简单的解决方案?

2 个答案:

答案 0 :(得分:1)

表中的计算字段是一个相当无用的概念。见http://allenbrowne.com/casu-14.html

解决方案是:创建查询,在那里添加计算字段,公式将正常工作,然后在需要TAT的任何地方使用查询而不是表格字段。

答案 1 :(得分:0)

使用文本框通过此 ControlSource 计算和显示TAT:

=Nz([ClosedDateTime],Now())-[CreatedDateTime]