为一个看似简单的合成加载条件表达式,花了快一天时间,在甜老师的指导下,终于完成。请大家参考。不明白,为什么要加上判断,不然加载的全部是 确认审核 = 0 的行。
目的是要加载 确认审核 = 0 在 机构设置 表中为科室主任 或者为 分管领导 ,如果两者都不是,就加载 请假天数 大于或等于 3 的行。
机构设置 表中 科室主任 和分管领导 的人数 是不同的。如果不进行判断 就只会加载 确认审核 = 0 的所有行。就是科室主任 和分管领导 都不能有空行。
DataTables("机构设置").LoadFilter = "科室主任 is not null"
DataTables("机构设置").Load()
Dim str As String = "1=2"
For Each dr As DataRow In DataTables("机构设置").DataRows
If dr.IsNull("分管领导") = False Then
str &= " or 确认审核 = 0 And 姓名 Like '%" & dr("分管领导") & "%'"
End If
If dr.IsNull("科室主任") = False Then
str &= " or 确认审核 = 0 And 姓名 Like '%" & dr("科室主任") & "%'"
End If
Next
str &= " Or 确认审核 = 0 And 请假天数 >= 3 "
DataTables("请销假登记").LoadFilter = str
DataTables("请销假登记").Load