以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- 从子表按条件取值赋给父表 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=98892)
|
-- 作者:蓝蚂蚁
-- 发布时间:2017/4/8 20:40:00
-- 从子表按条件取值赋给父表
直接来问题吧: 此主题相关图片如下:地点.jpg
请问老师们,这个代码如何编写?
|
-- 作者:有点色
-- 发布时间: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
|
-- 作者:蓝蚂蚁
-- 发布时间:2017/4/9 11:06:00
--
高手,谢谢老师,万分感谢!
|
-- 作者:蓝蚂蚁
-- 发布时间:2017/6/29 8:29:00
--
呼叫有点色老师,问题补充:实现上面的要求,能否又实现这样的功能:在子表中数据中搜索地点,如果有北京的就在父表的地点上自动填上北京(通过产品编码关联),把同产品编码的子表都搜索一遍,如果没有就把第一条记录的地点自动填充到父表的地点栏。 大概意思是: for **** if 子表地点=北京 then 父表地点=北京 else 父表地点=子表第一条记录的地点 end next 请问具体代码如何编写
|
-- 作者:有点色
-- 发布时间: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
|