If e.DataCol.Name = "住院号" Then
If e.DataRow("住院号") IsNot Nothing Then
Dim dr As DataRow = DataTables("长期医嘱").Find("[住院号] = '" & e.DataRow("住院号") & "' ")
If dr IsNot Nothing Then
Dim cf As DataRow = DataTables("收费项目").Find("项目名称 = '餐费标准'")
Dim jc As DataRow = DataTables("长期医嘱").Find("项目名称 = '诊疗费'And 执行 =1 And [住院号] = '" & e.DataRow("住院号") & "'")
e.DataRow("本月开嘱日期") = DataTables("长期医嘱").Compute("min(开嘱日期)","[住院号] = '" & e.DataRow("住院号") & "'")
e.DataRow("本月停嘱日期") = DataTables("长期医嘱").Compute("max(停嘱日期)","[住院号] = '" & e.DataRow("住院号") & "'")
e.DataRow("假出日期") =jc("停嘱日期")
Else
e.DataRow("本月开嘱日期") = Nothing
e.DataRow("本月停嘱日期") = Nothing
e.DataRow("假出日期") =Nothing
End If
End If
End If
问题出在红色字体的代码上,加了条件[住院号] = '" & e.DataRow("住院号") & "'后出现问题。
不管 执行 =1还是 执行 =true,代码分开写后,运行结果正确,代码如下:
If e.DataCol.Name = "住院号" Then
If e.DataRow("住院号") IsNot Nothing Then
Dim dr As DataRow = DataTables("长期医嘱").Find("[住院号] = '" & e.DataRow("住院号") & "' ")
Dim jc As DataRow = DataTables("长期医嘱").Find("项目名称 = '诊疗费'And 执行 =True And [住院号] = '" & e.DataRow("住院号") & "'")
If dr IsNot Nothing Then
Dim cf As DataRow = DataTables("收费项目").Find("项目名称 = '餐费标准'")
e.DataRow("本月开嘱日期") = DataTables("长期医嘱").Compute("min(开嘱日期)","[住院号] = '" & e.DataRow("住院号") & "'")
e.DataRow("本月停嘱日期") = DataTables("长期医嘱").Compute("max(停嘱日期)","[住院号] = '" & e.DataRow("住院号") & "'")
Else
e.DataRow("本月开嘱日期") = Nothing
e.DataRow("本月停嘱日期") = Nothing
End If
If jc IsNot Nothing Then
e.DataRow("假出日期") =jc("停嘱日期")
Else
e.DataRow("假出日期") =Nothing
End If
End If
End If
[此贴子已经被作者于2011-8-27 18:17:13编辑过]