以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  遍历勾选的行,分配数据后新增分配记录不正常(已解决)!  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=132066)

--  作者:lunengcheng
--  发布时间:2019/3/13 10:27:00
--  遍历勾选的行,分配数据后新增分配记录不正常(已解决)!
各位老师前辈,请教一个问题,我又一个主表,现在选中主表中的行后,将这些行分配给需要的人,分配的过程其实就是更改相关的字段,然后我希望没更改一行的同时,在分配记录表里面新增一条记录,记录当前行的信息,我设置了下面的代码:

\'\'判断是否选中数据
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编辑过]

--  作者:有点甜
--  发布时间:2019/3/13 10:34:00
--  

1、你把select列勾选了没有?必须勾选才行的e

 

2、代码看不错问题,上传具体实例测试。


--  作者:lunengcheng
--  发布时间:2019/3/13 11:18:00
--  
已经解决,分享一下,把主记录字段修改和记录表新增都分开放在下面if代码里面,前面的是一起放在一个里面,会导致混乱!

If r("Select")=True Then
代码
End IF
[此贴子已经被作者于2019/3/13 11:19:17编辑过]