Select Case e.StripItem.Name
Case "保存" '保存代码
If e.Form.Controls("rq").text = "" Then'当日期为空取消保存操作
messagebox.show("请选择日期")
Return
ElseIf Tables("月租收费_Table1").Compute("Count([车牌号码])") = 0 Then '当窗口中的行为空取消保存操作
Return
Else
Dim drs As List(of DataRow) = DataTables("缴费情况").SQLSelect("[单号] = '" & Forms("月租收费").Controls("dh").text & "'")
Dim trs As List(of DataRow) = DataTables("月租收费_Table1").Select("[车牌号码] is not null")
If drs.count > 0 And trs.count > 0 And drs.count = trs.count Then
For i As Integer = 0 To trs.count - 1
drs(i)("日期") = e.Form.Controls("rq").text
drs(i)("单号") = e.Form.Controls("dh").text
drs(i)("分类") = DataTables("分类").DataRows(0)("分类")
drs(i)("车牌号码") = trs(i)("车牌号码")
drs(i)("备注") = trs(i)("备注")
drs(i)("前缀") = "YZ"
drs(i)("缴费_月租_起计日期") = trs(i)("缴费_月租_起计日期")
drs(i)("缴费_月租_止计日期") = trs(i)("缴费_月租_止计日期")
drs(i)("缴费_月租_缴费月数") = trs(i)("缴费_月租_缴费月数")
drs(i)("缴费_月租_月租单价") = trs(i)("缴费_月租_月租单价")
drs(i)("缴费_月租_缴费金额") = trs(i)("缴费_月租_缴费金额")
drs(i).save
Next
ElseIf drs.count > 0 And trs.count > 0 And drs.count > trs.count Then
For i As Integer = 0 To trs.count - 1
drs(i)("日期") = e.Form.Controls("rq").text
drs(i)("单号") = e.Form.Controls("dh").text
drs(i)("分类") = DataTables("分类").DataRows(0)("分类")
drs(i)("车牌号码") = trs(i)("车牌号码")
drs(i)("备注") = trs(i)("备注")
drs(i)("前缀") = "YZ"
drs(i)("缴费_月租_起计日期") = trs(i)("缴费_月租_起计日期")
drs(i)("缴费_月租_止计日期") = trs(i)("缴费_月租_止计日期")
drs(i)("缴费_月租_缴费月数") = trs(i)("缴费_月租_缴费月数")
drs(i)("缴费_月租_月租单价") = trs(i)("缴费_月租_月租单价")
drs(i)("缴费_月租_缴费金额") = trs(i)("缴费_月租_缴费金额")
drs(i).save
Next
For i1 As Integer = drs.count - 1 To trs.count Step -1
drs(i1).Delete
Next
ElseIf drs.count > 0 And trs.count > 0 And drs.count < trs.count Then
For i2 As Integer = 0 To drs.count - 1
drs(i2)("日期") = e.Form.Controls("rq").text
drs(i2)("单号") = e.Form.Controls("dh").text
drs(i2)("分类") = DataTables("分类").DataRows(0)("分类")
drs(i2)("车牌号码") = trs(i2)("车牌号码")
drs(i2)("备注") = trs(i2)("备注")
drs(i2)("前缀") = "YZ"
drs(i2)("缴费_月租_起计日期") = trs(i2)("缴费_月租_起计日期")
drs(i2)("缴费_月租_止计日期") = trs(i2)("缴费_月租_止计日期")
drs(i2)("缴费_月租_缴费月数") = trs(i2)("缴费_月租_缴费月数")
drs(i2)("缴费_月租_月租单价") = trs(i2)("缴费_月租_月租单价")
drs(i2)("缴费_月租_缴费金额") = trs(i2)("缴费_月租_缴费金额")
drs(i2).save
Next
For i3 As Integer = drs.count To trs.count -1
Dim dr As DataRow = DataTables("缴费情况").addnew
dr("日期") = e.Form.Controls("rq").text
dr("单号") = e.Form.Controls("dh").text
dr("分类") = DataTables("分类").DataRows(0)("分类")
dr("车牌号码") = trs(i3)("车牌号码")
dr("备注") = trs(i3)("备注")
dr("前缀") = "YZ"
dr("缴费_月租_起计日期") = trs(i3)("缴费_月租_起计日期")
dr("缴费_月租_止计日期") = trs(i3)("缴费_月租_止计日期")
dr("缴费_月租_缴费月数") = trs(i3)("缴费_月租_缴费月数")
dr("缴费_月租_月租单价") = trs(i3)("缴费_月租_月租单价")
dr("缴费_月租_缴费金额") = trs(i3)("缴费_月租_缴费金额")
dr(i3).save
Next
ElseIf drs.count = 0 And trs.count > 0 Then
For i As Integer = 0 To trs.count - 1
Dim dr As DataRow = DataTables("缴费情况").addnew
dr("日期") = e.Form.Controls("rq").text
dr("单号") = e.Form.Controls("dh").text
dr("分类") = DataTables("分类").DataRows(0)("分类")
dr("车牌号码") = trs(i)("车牌号码")
dr("备注") = trs(i)("备注")
dr("前缀") = "YZ"
dr("缴费_月租_起计日期") = trs(i)("缴费_月租_起计日期")
dr("缴费_月租_止计日期") = trs(i)("缴费_月租_止计日期")
dr("缴费_月租_缴费月数") = trs(i)("缴费_月租_缴费月数")
dr("缴费_月租_月租单价") = trs(i)("缴费_月租_月租单价")
dr("缴费_月租_缴费金额") = trs(i)("缴费_月租_缴费金额")
dr("录入员") = e.Form.Controls("lry").text
dr("操作人姓名") = User.Name & " " & Date.Now
dr.save
Next
End If
DataTables("缴费情况").Load
End If
End Select
不管窗口上的数据是否跟缴费情况表单号相同的数据相同,都安位置顺序替换,该怎么写?这种情况出现于有时要删除单据,为了让单号不断号,直接輸入新的内容,替换原单内容。