单独把数据导出来,用11楼的代码做没有问题。但是放在”储蓄积分“数据表的"datacolchanged”事件中运行程序就退出,没有得到我要的结果。
代码如下:
'完善身份证号码
If e.DataCol.Name = "身份证号码" Then
For Each r As DataRow In DataTables("储蓄积分").DataRows
If r("身份证号码").Length = 18
Dim dr As DataRow = DataTables("储蓄积分").Find("客户名称 = '" & r("客户名称") & "' and 身份证号码 = '" & r("身份证号码").SubString(0,15) & "'")
If dr IsNot Nothing Then '如果找到的话
dr("身份证号码") = r("身份证号码")
End If
End If
Next
End If
'计算储蓄积分
If e.DataCol.Name = "日均余额" Then
If e.DataRow.IsNull(e.DataCol) = False Then
Select Case e.DataRow(e.DataCol)
Case 0.00 To 50000.00
e.DataRow("储蓄积分") = 50
Case 50000.000001 To 100000.00
e.DataRow("储蓄积分") = 100
Case 100000.000001 To 200000.00
e.DataRow("储蓄积分") = 150
Case 200000.000001 To 300000.00
e.DataRow("储蓄积分") = 180
Case 300000.000001 To 400000.00
e.DataRow("储蓄积分") = 220
Case 400000.000001 To 500000.00
e.DataRow("储蓄积分") = 280
Case 500000.000001 To 800000.00
e.DataRow("储蓄积分") = 300
Case 800000.000001 To 1000000.00
e.DataRow("储蓄积分") = 350
Case 1000000.00 To 2000000.00
e.DataRow("储蓄积分") = 400
Case 2000000.00 To 5000000.00
e.DataRow("储蓄积分") = 500
Case 5000000.00 To 50000000.00
e.DataRow("储蓄积分") = 600
End Select
Else
e.DataRow("储蓄积分") = Nothing
End If
Else
If e.DataCol.Name = "储蓄积分" Then
DataTables("客户资料").DataCols("客户名称").RaiseDataColChanged(" 客户名称 = '" & e.DataRow("客户名称") & "' and 身份证号码 = '" & e.DataRow("身份证号码") & "' ")
End If
End If
''在客户资料中加入没有的客户
Select Case e.DataCol.name
Case "身份证号码","客户名称"
If e.DataRow.Isnull("身份证号码")=False Then
Dim dr As DataRow = DataTables("客户资料").Find(" 客户名称 ='" & e.DataRow("客户名称") & "' and 身份证号码 ='" & e.DataRow("身份证号码") & "'")
If dr Is Nothing Then
dr = DataTables("客户资料").addnew
dr("客户名称")=e.DataRow("客户名称")
dr("身份证号码")=e.DataRow("身份证号码")
End If
End If
End Select