第一个是需要知道剩余风险金金额,所以找到后就执行
第二个是当是否使用风险金=true才计算,现在增加了一列辅助列,还是循环的
Dim cmd1 As New SQLCommand
Dim dt1 As DataTable
cmd1.C
cmd1.CommandText = "S ELECT DISTINCT 所属机构,承包风险金,剩余风险金,经营状态 From {分支机构管理}"
dt1 = cmd1.ExecuteReader()
Select Case e.DataCol.Name
Case "是否使用风险金","本次使用风险金","剩余风险金","保证金金额"
Dim ds As DataRow = dt1.Find("所属机构 = '" & e.DataRow("所属机构") & "' and 经营状态 = '正常'")
If ds IsNot Nothing Then
e.DataRow("剩余风险金") = ds("剩余风险金")
If e.DataRow("是否使用风险金") = True Then
e.DataRow("本次使用风险金") = e.DataRow("保证金金额")
If e.DataRow("本次使用风险金") > e.DataRow("剩余风险金") Then
MessageBox.Show("剩余风险金不足以支付本次保证金,请现金转账支付本次保证金!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.DataRow("是否使用风险金") = False
e.DataRow("本次使用风险金") = Nothing
Else
e.DataRow("本次剩余风险金") = ds("剩余风险金") - e.DataRow("本次使用风险金")
End If
Else
e.DataRow("是否使用风险金") = False
e.DataRow("本次使用风险金") = Nothing
End If
Else
MessageBox.Show("你未缴纳风险金,不能使用风险金!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
e.DataRow("是否使用风险金") = False
e.DataRow("剩余风险金") = Nothing
End If
End Select
Dim cmd2 As New SQLCommand
cmd2.C
cmd2.CommandText = "U PDATE {分支机构管理} SET 剩余风险金 = " & e.DataRow("本次剩余风险金") & " WHERE 所属机构 = '" & e.DataRow("所属机构") & "' and 经营状态 = '正常'"
cmd2.ExecuteNonQuery()
[此贴子已经被作者于2019/12/30 14:54:18编辑过]