Foxtable(狐表)用户栏目专家坐堂 → 跨表引用问题2


  共有1494人关注过本帖树形打印复制链接

主题:跨表引用问题2

美女呀,离线,留言给我吧!
longyanlin
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:151 积分:1469 威望:0 精华:0 注册:2016/5/12 14:53:00
跨表引用问题2  发帖心情 Post By:2017/4/6 12:28:00 [只看该作者]

有一窗口表“订单表”中的按钮,把“订单表”里面的数据引用到生产订单中去,代码如下:

For Each dr As DataRow In DataTables("订单表").Select("审核=TRUE")
    Dim fdr As DataRow = DataTables("生产订单").Find("生产单号 = '" & dr("生产单号") & "' and 产品编号 = '" & dr("产品编号")   & "'")
    If fdr Is Nothing Then
        fdr = DataTables("生产订单").AddNew()
        fdr("生产单号") = dr("生产单号")
        fdr("产品编号") = dr("产品编号")
    End If
   fdr("产品名称") = dr("产品名称")
    fdr("规格型号") = dr("规格型号")
fdr("客户单号") = dr("客户单号")
fdr("交货日期") = dr("交货日期")
fdr("下单日期") = dr("下单日期")
Next

当数据引入到“生产订单”中后,原来“生产订单.生产明细”表里面的数据发生了异常,就是所有的生产单号都变成了“生产订单”表里面的第一行生产单号(生产单号不发生变化)

“生产订单”里面的

DataColChanged

代码为:

If e.DataCol.Name = "产品编号" Then
    DataTables("订单明细").DeleteFor("生产单号 = '" & e.DataRow("生产单号").Replace("'", "''") & "'")
    For Each dr As DataRow In DataTables("样品子件").Select("产品编号 = '" & e.NewValue.Replace("'", "''") & "'")
        Dim nr As Row = Tables("生产订单.订单明细").Addnew
        nr("物料编号") = dr("物料编号")
        nr("物料名称") = dr("物料名称")
        nr("规格型号") = dr("规格型号")
        nr("用料系数") = dr("用料系数")
        nr("单位") = dr("单位")
        nr("属性") = dr("属性")
        nr("材质") = dr("材质")
    Next
End If

求代码修改


 回到顶部
帅哥哟,离线,有人找我吗?
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107861 积分:548662 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/4/6 15:04:00 [只看该作者]

DataColChanged
代码为:
If e.DataCol.Name = "产品编号" Then
    DataTables("订单明细").DeleteFor("生产单号 = '" & e.DataRow("生产单号").Replace("'", "''") & "'")
    For Each dr As DataRow In DataTables("样品子件").Select("产品编号 = '" & e.NewValue.Replace("'", "''") & "'")
        Dim nr As Row = Tables("订单明细").Addnew
        nr("生产单号") = e.DataRow("生产单号")
        nr("物料编号") = dr("物料编号")
        nr("物料名称") = dr("物料名称")
        nr("规格型号") = dr("规格型号")
        nr("用料系数") = dr("用料系数")
        nr("单位") = dr("单位")
        nr("属性") = dr("属性")
        nr("材质") = dr("材质")
    Next
End If

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/4/6 15:08:00 [只看该作者]

你可以引入的时候,不触发具体事件的代码

 

http://www.foxtable.com/webhelp/scr/2218.htm

 


 回到顶部
美女呀,离线,留言给我吧!
longyanlin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:151 积分:1469 威望:0 精华:0 注册:2016/5/12 14:53:00
  发帖心情 Post By:2017/4/6 15:28:00 [只看该作者]

谢谢两位老师


 回到顶部