有点绕,代码如下
If e.DataCol.Name="收费" Then
Dim Dr As DataRow
If e.DataRow("初诊复诊")="初诊" Then
e.DataRow("统计") = e.DataRow("收费")
If e.DataRow("统计") <= 200 Then
e.DataRow("A") = e.DataRow("统计")
e.DataRow("B") = Nothing
e.DataRow("C") = Nothing
Else If e.DataRow("统计") <= 400 Then
e.DataRow("A") = 200
e.DataRow("B") = e.DataRow("统计") - 200
e.DataRow("C") = Nothing
Else
e.DataRow("A") = 200
e.DataRow("B") = 200
e.DataRow("C") = e.DataRow("统计") - 400
End If
Else
dr=DataTables("表A").Find("编号 < '" & e.DataRow("编号") & "'And 姓名='" & e.DataRow("姓名") & "'","就诊日期 desc")
If dr IsNot Nothing Then
If dr("初诊复诊")="初诊" Then
e.DataRow("统计")=e.DataRow("收费")+dr("收费")
e.DataRow("B") = Nothing
e.DataRow("C") = Nothing
Else
e.DataRow("统计")=e.DataRow("收费")+dr("统计")
End If
If e.DataRow("统计") <= 200 Then
e.DataRow("A") = e.DataRow("收费")
e.DataRow("B") = Nothing
e.DataRow("C") = Nothing
Else If e.DataRow("统计") <= 400 Then
e.DataRow("A") = iif(dr("统计") >= 200, Nothing, 200 - dr("统计"))
e.DataRow("B") = e.DataRow("统计") - 200
e.DataRow("C") = Nothing
Else
e.DataRow("A") = iif(dr("统计") >= 200, Nothing, 200 - dr("统计"))
e.DataRow("B") = iif(dr("统计") < 200, 200, iif(dr("统计") > 400, Nothing, 400 - dr("统计")))
e.DataRow("C") = iif(dr("统计") >= 400, e.DataRow("统计") - dr("统计"), e.DataRow("统计") - 400)
End If
End If
End If
End If