问题描述
我希望得到我的员工输入返回办公室的时间[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