Foxtable(狐表)用户栏目专家坐堂 → 从子表按条件取值赋给父表


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

主题:从子表按条件取值赋给父表

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
从子表按条件取值赋给父表  发帖心情 Post By:2017/4/8 20:40:00 [只看该作者]

直接来问题吧:

图片点击可在新窗口打开查看此主题相关图片如下:地点.jpg
图片点击可在新窗口打开查看
请问老师们,这个代码如何编写?

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


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

子表DataColChanged事件

 

If e.DataCol.Name = "地点" Then
    Dim pdr As DataRow = e.DataRow.GetParentRow("订单表")
    Dim fdr As DataRow = e.DataTable.Find("产品编号 = '" & e.DataRow("产品编号") & "'", "_Sortkey")
    If pdr IsNot Nothing Then
        If fdr IsNot Nothing Then
            pdr("地点") = fdr("地点")
        Else
            pdr("地点") = Nothing
        End If
    End If
End If


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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
  发帖心情 Post By:2017/4/9 11:06:00 [只看该作者]

高手,谢谢老师,万分感谢!

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
  发帖心情 Post By:2017/6/29 8:29:00 [只看该作者]

呼叫有点色老师,问题补充:
实现上面的要求,能否又实现这样的功能:在子表中数据中搜索地点,如果有北京的就在父表的地点上自动填上北京(通过产品编码关联),把同产品编码的子表都搜索一遍,如果没有就把第一条记录的地点自动填充到父表的地点栏。
大概意思是:
for ****
   if 子表地点=北京 then
      父表地点=北京
   else
      父表地点=子表第一条记录的地点
   end
next
请问具体代码如何编写



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


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

If e.DataCol.Name = "地点" Then
    Dim pdr As DataRow = e.DataRow.GetParentRow("订单表")
    If pdr IsNot Nothing Then
        Dim fdr As DataRow = e.DataTable.Find("产品编号 = '北京'", "_Sortkey")
        If fdr IsNot Nothing Then
            pdr("地点") = "北京"
        Else
            fdr = e.DataTable.Find("产品编号 = '" & e.DataRow("产品编号") & "'", "_Sortkey")
            If fdr IsNot Nothing Then
                pdr("地点") = fdr("地点")
            Else
                pdr("地点") = Nothing
            End If
        End If
    End if
End If

 回到顶部