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


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

主题:跨表引用问题

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
跨表引用问题  发帖心情 Post By:2018/1/30 22:18:00 [只看该作者]

1. 两个表:订单1, 订单2, 1个订单窗口。订单窗口的新建订单按钮代码:

Tables("订单").AddNew()

Dim fl As Row = Tables("订单2").AddNew
fl("订单id") = Tables("订单").Current("订单id")  


当新建订单时候,表订单2自动输入和表订单1的订单id


2. 跨表引用,在订单2的datacolchanged  输入代码

If e.DataCol.Name = "订单id" Then
    If e.NewValue Is Nothing Then
        e.DataRow("客户名称") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("订单").Find("[订单id] = '" & e.NewValue & "'")
        If dr IsNot Nothing 
            e.DataRow("客户名称") = dr("客户名称")
        End If
    End If
End If


3.问题: 订单2的“”客户名称“”不会自动引用订单1的“客户名称“,怎么解决?

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/30 22:25:00 [只看该作者]

代码没有问题。可能订单id对应不上,或者客户名称没有数据

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


加好友 发短信
等级:三尾狐 帖子:689 积分:5362 威望:0 精华:0 注册:2012/8/25 20:50:00
  发帖心情 Post By:2018/1/30 22:31:00 [只看该作者]

表订单1是有客户名称的,不过你这么一问,我就刚才试了一下,猜测是因为表订单1和表订单2的同时输入订单号,然后订单1才输入客户名称,所以表订单2就没法引用客户名称了。这个应该怎么弄?

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


加好友 发短信
等级:超级版主 帖子:110790 积分:563882 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/1/30 22:57:00 [只看该作者]

订单1的datacolchanged  

If e.DataCol.Name = "客户名称" Then
    If e.NewValue > "" Then
        Dim dr As DataRow
        dr = DataTables("订单2").Find("[订单id] = '" & e.DataRow("订单id") & "'")
        If dr IsNot Nothing 
            dr ("客户名称") = e.NewValue
        End If
    End If
End If

 回到顶部