Foxtable(狐表)用户栏目专家坐堂 → 跨表更新重复行问题


  共有2223人关注过本帖平板打印复制链接

主题:跨表更新重复行问题

帅哥哟,离线,有人找我吗?
purplebluesky
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:69 积分:799 威望:0 精华:0 注册:2017/8/2 12:34:00
跨表更新重复行问题  发帖心情 Post By:2018/4/19 22:25:00 [只看该作者]

 请问下 ,我有个关联表,父表的datachanged里写入了跨表跟新的代码,子表未设定,父表是以为采购合同号和子表做了关联。采购合同可能有多个,但是子表的订单跟进只有一个。
现在每次新增父表,子表都会新增行。  我在子表的datachanged里写入以销售合同号为基础筛选,如果有重复的则取消录入。但是老出错。。。是不是这个思路有问题还是代码有问题?
是不是关联的时候用采购合同号为基础的缘故?
父表: 
Select Case e.DataCol.name
    Case "采购合同号"
        Dim dr As DataRow = DataTables("订单跟进").Find(" 采购合同号= '" & e.OldValue & "'")
        If dr Is Nothing Then
            dr = DataTables("订单跟进").AddNew()
            dr("销售合同号") = e.DataRow("销售合同号")
            dr("客户") = e.DataRow("客户")
        Else
            dr("采购合同号") = e.DataRow("采购合同号")
        End If
    Case "客户","销售合同号"
        Dim dr As DataRow = DataTables("订单跟进").Find("采购合同号 = '" & e.DataRow("采购合同号") & "'")
        If dr IsNot Nothing Then
            dr(e.DataCol.Name) = e.DataRow(e.DataCol.Name)
        End If
End Select

子表:
If e.DataCol.Name = "销售合同号" Then
    Dim dr As DataRow
    dr = e.DataTable.Find("销售合同号 = '" & e.NewValue & "'")
    If dr IsNot Nothing Then
    e.Cancel = True
    End If
End If

[此贴子已经被作者于2018/4/19 22:31:23编辑过]

 回到顶部
总数 11 1 2 下一页