从this question开始,我如何将结果日期值写入表单中的字段(DEADLINE (25 WD)
)?
(该字段位于链接到表格的表单中。)
答案 0 :(得分:0)
真正的解决方案是不存储此计算",而是在需要的时间和地点使用它。计算属于不在表中的查询。最好在查询中使用而不是使用Form方法存储在表中的原因是,当DateOpened
更改时,截止日期会自动更新。 但是只有在您使用表单编辑信息时才会发生这种情况。如果您直接在表中编辑日期或使用查询更新记录,则截止日期将不一致。
但是,如果您使用像
这样的查询SELECT
DateOpened,
addWorkDays(25, DateOpened) As Deadline
FROM
yourTable;
这将基于DateOpened工作,就像运行Query时一样。即使它在查询中被更改(当它打开时),截止日期也会相应更新。当您使用表单将计算存储回表时,您将失去这种灵活性。
正如所说 ,因为您需要根据其他字段计算此内容;我建议您使用DateOpened控件的AfterUpdate
事件。
Private sub DateOpened_AfterUpdate()
If Len(Me.DateOpened & vbNullString) <> 0 Then
Me.DeadlineDate = addWorkDays(25, DateOpened)
Else
Me.DeadlineDate = ""
End If
End Sub
由于控件绑定到表,因此无需运行更新代码。这将自动填写截止日期。