各位老师前辈,请教一个问题,我又一个主表,现在选中主表中的行后,将这些行分配给需要的人,分配的过程其实就是更改相关的字段,然后我希望没更改一行的同时,在分配记录表里面新增一条记录,记录当前行的信息,我设置了下面的代码:
''判断是否选中数据
Dim t As Table = Tables("学员开发_Table1")
Dim d As Table = Tables("学员开发数据分配_Table1")
Dim count = t.Compute("count(select)", "Select = true")
If count = 0 Then
MessageBox.show("未选中任何数据行, 请选中数据行后再操作!")
Else
Dim jszt As String = e.Form.Controls("接收状态").value
Dim fgs As String = e.Form.Controls("分配到分公司").value
Dim bm As String = e.Form.Controls("分配到部门").value
Dim fz As String = e.Form.Controls("分配到分组").value
Dim ry As String = e.Form.Controls("分配到人员").value
Dim zh As String = e.Form.Controls("分配到账号").value
For i As Integer = t.Rows.count-1 To 0 Step -1
Dim r = t.Rows(i)
If r("Select")=True Then
'count += 1
r("接收状态")= jszt
r("分配到分公司")= fgs
r("分配到部门")= bm
r("分配到分组")= fz
r("分配到人员")= ry
r("创建人")= zh
r("分配人姓名")= User_Name
r("分配时间")= Date.Now
r.Save
Dim dr As DataRow
dr = DataTables("学员开发数据分配_Table1").AddNew()
dr("分配状态") = r("分配状态")
dr("分配到分公司") = fgs
dr("分配到部门") = bm
dr("分配到分组") = fz
dr("分配到人员") = ry
dr("分配人姓名") = User_Name
dr("分配时间") = Date.Today
dr("前次创建人") = r("创建人")
dr("前次创建时间") = r("创建时间")
dr("前次编辑人") = r("编辑人")
dr("前次编辑时间") = r("编辑时间")
End If
Next
End If
上面这段代码,如果红色部分的代码放在蓝色的End If之前,则新增的分配记录是正常的,但是主表选中的行就没法正常分配,也就是更改相关的字段,如果放在蓝色的End If后面,主表选中的行可以正常分配,但是会新增很多条分配记录,而不是一对一新增,弄了两天,不知道问题在上面地方,希望老师前辈们指点一下,多谢了!
[此贴子已经被作者于2019/3/13 11:16:36编辑过]