以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  副本表无法显示记录问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=161816)

--  作者:hitzfeld
--  发布时间:2021/3/30 18:39:00
--  副本表无法显示记录问题
窗口中的副本表无法显示记录,但是后台对于的表有正确生成。
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:二级关联的记录加载问题.table


--  作者:有点蓝
--  发布时间:2021/3/30 20:20:00
--  
For Each dr1 As Row In Tables("业务订单").GetCheckedRows
    Dim dr2 As Row = Tables("出库单.出库明细").AddNew()   \'以下三行把读到的记录按字段对应关系写入新表
    dr2("产品名称") = dr1("产品名称")
    dr2("单价") = dr1("单价")
    dr2("业务单号") = dr1("业务单号")
    For Each dr As DataRow In DataTables("订单附件").Select("[业务单号] = \'" & dr1("业务单号") &"\'")
        \'  msgbox(dr("附件名称"))
        Dim dr3 As Row = Tables("出库单_Table2").AddNew()   \'以下三行把读到的记录按字段对应关系写入新表
        dr3("业务单号") = dr1("业务单号")
        dr3("附件编号") = dr("附件编号")
        dr3("附件类型") = dr("附件类型")
        dr3("附件名称") = dr("附件名称")
        dr3("客户") = dr("客户")
        dr3("出库日期") = dr2("出库日期")
        dr3("出库单号") = dr2("出库单号")
        
    Next
Next
Tables("业务订单").ClearCheckedRows
e.Form.Close()

--  作者:hitzfeld
--  发布时间:2021/3/30 20:45:00
--  
还是不行.....我做了个测试,在出库单窗口加了个buttom,代码就只有一句Tables("出库单_table2").AddNew()
但是窗口仍然不会显示任何新增行!后台会增加...........

--  作者:有点蓝
--  发布时间:2021/3/30 20:48:00
--  
要给筛选列赋值啊

For Each dr1 As Row In Tables("业务订单").GetCheckedRows
    Dim dr2 As Row = Tables("出库单.出库明细").AddNew()   \'以下三行把读到的记录按字段对应关系写入新表
    dr2("产品名称") = dr1("产品名称")
    dr2("单价") = dr1("单价")
    dr2("业务单号") = dr1("业务单号")
    For Each dr As DataRow In DataTables("订单附件").Select("[业务单号] = \'" & dr1("业务单号") &"\'")
        \'  msgbox(dr("附件名称"))
        Dim dr3 As Row = Tables("出库单_Table2").AddNew()   \'以下三行把读到的记录按字段对应关系写入新表
        dr3("业务单号") = dr1("业务单号")
        dr3("附件编号") = dr("附件编号")
        dr3("附件类型") = dr("附件类型")
        dr3("附件名称") = dr("附件名称")
        dr3("客户") = dr("客户")
        dr3("出库日期") = dr2("出库日期")
        dr3("出库单号") = dr2("出库单号")
        
    Next
Next
Tables("业务订单").ClearCheckedRows
e.Form.Close()

--  作者:hitzfeld
--  发布时间:2021/3/30 20:55:00
--  
蓝老师,恕我愚钝,确实没有显示啊!不是button,是选择单据之后。您点下“新增”再“添加明细”看下?麻烦您了。
--  作者:有点蓝
--  发布时间:2021/3/30 21:06:00
--  
“新增”按钮:
If Tables("出库单").Current IsNot Nothing AndAlso Tables("出库单").Current.DataRow.GetChildRows("出库明细").count = 0
    msgbox("没有添加明细")
    Return
End If
Dim r As Row = Tables("出库单").AddNew()
Tables("出库单_table2").Filter = "[出库单号] = \'" & r("出库单号") & "\'" \'纸箱出库单_表单_table2

--  作者:hitzfeld
--  发布时间:2021/3/30 22:11:00
--  
终于搞定了!眼泪汪汪啊!从昨天测试到今天,换了无数种方法都失败了。其实我离真相只有一步...........
我测试过
Dim r As Row = Tables("出库单.出库明细").current()
Tables("出库单_table2").Filter = "[出库单号] = \'" & r("出库单号") & "\'
这个方法也是错误的。
.RowState = DataRowState.Added 也试过了,也没有反应。

怎么就没想到要从父表来引用单号呢!!!!
怎么就没想到要从父表来引用单号呢!!!!

谢谢蓝老师的耐心指导,感恩!