Foxtable(狐表)用户栏目专家坐堂 → 父表逻辑列为TRUE所有相应的字表也为TRUE


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

主题:父表逻辑列为TRUE所有相应的字表也为TRUE

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


加好友 发短信
等级:三尾狐 帖子:672 积分:7885 威望:0 精华:0 注册:2016/6/11 11:10:00
父表逻辑列为TRUE所有相应的字表也为TRUE  发帖心情 Post By:2017/7/12 22:50:00 [只看该作者]

父表与子表通过【订单号】进行关联,父表的【状态】列为逻辑列,子表的【随父状态】列也为逻辑列,子表的同订单号会有多个记录,有时只有一个记录。
现在想要实现的功能:父表的【状态】列为True时对应的子表所有记录也为True(指同订单号),反之,父表的【状态】列为False时对应的子表所有记录也为False(指同订单号)
父表的代码如下,但子表只实现了第一条记录跟着变化,不是所有的记录都变化。如何实现子表同订单号的记录都跟着变化。
If e.DataCol.Name = "状态" Then
    Dim dr As DataRow
    dr = DataTables("明细表").Find("[订单号] = '" & e.DataRow("订单号") & "'")
    If dr IsNot Nothing Then '如果找到了同名的产品行,也就是dr不是Nothing
        If e.DataRow("状态")=True Then
            dr("随父状态")=True
        Else
            dr("随父状态")=False
        End If
    End If
End If

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/12 22:54:00 [只看该作者]

直接写
 
If e.DataCol.Name = "状态" Then
    DataTables("明细表").replacefor("随父状态", e.newvalue, "[订单号] = '" & e.DataRow("订单号") & "'")
End If

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


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

附加问题:如果是在窗口中
子表之前已经有记录,通过新增按钮来增加,如果子表(同订单号)之前是True ,则新增的也True,反之如果子表(同订单号)之前是False ,则新增的也False,代码又如何实现?
[此贴子已经被作者于2017/7/12 22:57:15编辑过]

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


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

有点甜老师 谢谢你 按照你的代码完美解决问题 ,万分感谢

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/7/12 23:16:00 [只看该作者]

以下是引用蓝蚂蚁在2017/7/12 22:57:00的发言:
附加问题:如果是在窗口中
子表之前已经有记录,通过新增按钮来增加,如果子表(同订单号)之前是True ,则新增的也True,反之如果子表(同订单号)之前是False ,则新增的也False,代码又如何实现?
[此贴子已经被作者于2017/7/12 22:57:15编辑过]

 

Dim pr As Row = Tables("主表").Current

Dim nr As row = Tables("明细表").AddNew

nr("订单号") = pr("订单号")

nr("随父状态") = pr("状态")


 回到顶部