如何解决DateDiff,如果为null,则使用以前的时间
我希望得到我的员工输入返回办公室的时间[AActReturn0]以显示在字段[AActDrive50]中时的最终行驶时间,但是如果AActFinish5为空,我需要它去AActFinsh4,但是如果是null我需要它来检查AActFinish3,一直到AActFinish1。我不确定我在做什么错。我也尝试过Dim。我不知所措。
尝试#1:
Private Sub AActReturn0_AfterUpdate()
If AActFinish5 <> Null Then
AActDrive50 = DateDiff("n",[AActFinish5],[AActReturn0])
ElseIf [AActFinish5] = Null Then
AActDrive50 = DateDiff("n",[AActFinish4],[AActReturn0])
ElseIf [AActFinish4] = Null Then
AActDrive50 = DateDiff("n",[AActFinish3],[AActReturn0])
ElseIf [AActFinish3] = Null Then
AActDrive50 = DateDiff("n",[AActFinish2],[AActReturn0])
ElseIf [AActFinish2] = Null Then
AActDrive50 = DateDiff("n",[AActFinish1],[AActReturn0])
End If
End Sub
尝试#2:
Private Sub AActReturn0_AfterUpdate()
Dim Final As String
If AActFinish5 <> Null Then Final = AActFinish5
If Final = Null Then Final = AActFinish4
If Final = Null Then Final = AActFinish3
If Final = Null Then Final = AActFinish2
If Final = Null Then Final = AActFinish1
AActDrive50 = DateDiff("n",[Final],[AActReturn0])
End Sub
解决方法
您可以使用 Nz :
Private Sub AActReturn0_AfterUpdate()
Dim Final As Date
Final = Nz(AActFinish5,Nz(AActFinish4,Nz(AActFinish3,Nz(AActFinish2,Nz(AActFinish1)))))
AActDrive50 = DateDiff("n",[Final],[AActReturn0])
End Sub
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。