老师:我设计了一个“订货出库”表。其中包含“出库产品详细信息_数量”、“出库产品详细信息_含税单价”、“出库产品详细信息_无税单价”、“出库产品详细信息_总金额”【此列为表达式:IsNull([出库产品详细信息_数量] * [出库产品详细信息_含税单价] ,0) + IsNull([出库产品详细信息_数量] * [出库产品详细信息_无税单价] ,0)】、“出库产品详细信息_收款金额”、“货款状态_欠款金额”等列。
请问老师:1、当我在“出库产品详细信息_数量”确输入如150时,在“出库产品详细信息_含税单价”、“出库产品详细信息_无税单价”任意列输入一个数字如30.00时,未在"出库产品详细信息_收款金额" 列输入数字,如何实现"出库产品详细信息_总金额"的数字【4500.00】同时出现在"货款状态_欠款金额"中?
2、当我在“出库产品详细信息_数量”确输入如200时,在“出库产品详细信息_含税单价”、“出库产品详细信息_无税单价”任意列输入一个数字如30.00时,在"出库产品详细信息_收款金额" 列输入数字【2500.00】,如何实现"货款状态_欠款金额"为【3500.00】?
我原有相关代码:Select Case e.DataCol.Name
Case "购货客户通讯详细信息_客户编码","出库产品详细信息_总金额","出库产品详细信息_收款金额"
Dim drs As List(of DataRow)
Dim Filter As String
Filter = "[_Identify] >= " & e.DataRow("_Identify") & " And [购货客户通讯详细信息_客户编码] = '" & e.DataRow("购货客户通讯详细信息_客户编码") & "'"
drs = e.DataTable.Select(Filter)
For Each dr As DataRow In drs
Filter = "[_Identify] <= " & dr("_Identify") & " And [购货客户通讯详细信息_客户编码] = '" & dr("购货客户通讯详细信息_客户编码") & "'"
Dim Val1 As Double = e.DataTable.Compute("Sum(出库产品详细信息_总金额)",Filter)
Dim Val2 As Double = e.DataTable.Compute("Sum(出库产品详细信息_收款金额)",Filter)
Dim Val3 As Double = e.DataTable.Compute("Sum(货款状态_欠款金额)",Filter & " And 出库产品详细信息_总金额 Is null And 出库产品详细信息_收款金额 Is null")
dr("货款状态_欠款金额") = Val1 - Val2 + val3
Next
If e.DataCol.Name = "购货客户通讯详细信息_客户编码" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
Filter = "[_Identify] > " & e.DataRow("_Identify") & " And [购货客户通讯详细信息_客户编码] = '" & e.OldValue & "'"
drs = e.DataTable.Select(Filter)
For Each dr As DataRow In drs
Filter = "[_Identify] <= " & dr("_Identify") & " And [购货客户通讯详细信息_客户编码] = '" & dr("购货客户通讯详细信息_客户编码") & "'"
Dim Val1 As Double = e.DataTable.Compute("Sum(出库产品详细信息_总金额)",Filter)
Dim Val2 As Double = e.DataTable.Compute("Sum(出库产品详细信息_收款金额)",Filter)
Dim Val3 As Double = e.DataTable.Compute("Sum(货款状态_欠款金额)",Filter & " and 出库产品详细信息_总金额 is null and 出库产品详细信息_收款金额 Is null")
dr("货款状态_欠款金额") = Val1 - Val2 + val3
Next
End If
End Select
请问上述代码如何修改能实现?或重新的代码如何写?
谢谢!!