以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 父表逻辑列为TRUE所有相应的字表也为TRUE (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=103629) |
-- 作者:蓝蚂蚁 -- 发布时间:2017/7/12 22:50:00 -- 父表逻辑列为TRUE所有相应的字表也为TRUE 父表与子表通过【订单号】进行关联,父表的【状态】列为逻辑列,子表的【随父状态】列也为逻辑列,子表的同订单号会有多个记录,有时只有一个记录。 现在想要实现的功能:父表的【状态】列为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 |
-- 作者:有点甜 -- 发布时间:2017/7/12 22:54:00 -- 直接写
If e.DataCol.Name = "状态" Then
DataTables("明细表").replacefor("随父状态", e.newvalue, "[订单号] = \'" & e.DataRow("订单号") & "\'")
End If |
-- 作者:蓝蚂蚁 -- 发布时间:2017/7/12 22:57:00 -- 附加问题:如果是在窗口中 子表之前已经有记录,通过新增按钮来增加,如果子表(同订单号)之前是True ,则新增的也True,反之如果子表(同订单号)之前是False ,则新增的也False,代码又如何实现?
[此贴子已经被作者于2017/7/12 22:57:15编辑过]
|
-- 作者:蓝蚂蚁 -- 发布时间:2017/7/12 23:01:00 -- 有点甜老师 谢谢你 按照你的代码完美解决问题 ,万分感谢 |
-- 作者:有点甜 -- 发布时间: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("状态") |