if-statement - DateDiff 与 if null 然后使用先前的时间
问题描述
一旦我的员工输入返回办公室的时间 [AActReturn0] 出现在字段 [AActDrive50] 中,我想计算最终驾驶时间,但如果 AActFinish5 为空,我需要它转到 AActFinsh4,但如果为空,我需要它检查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
推荐阅读
- javascript - 如何获取vue js中所有列的总和
- python - df.isna().sum() 不适用于泰坦尼克数据集
- swift - Swift/URLSession 返回与 OpenSSL 不同的公钥
- twilio - 创建会议后立即拨打号码
- java - 数组快捷语法困境 | Java 编程语言
- node.js - 如何在 Typescript 中正确扩展 Request 的标头
- axapta - 如何在 d365 中动态更改 formcommandbuttonControl 的命令?
- python - 类型错误:“功能”缺少一个必需的位置参数:“自我”
- python - 使用 map() 的 multiprocessing.Pool 在大列表输入时表现得非常慢
- html - 特定 div 的 CSS 动画