以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 同一表格中多个列如何调用另一表格中的数据 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=73682) |
-- 作者:lismn456 -- 发布时间:2015/8/24 18:12:00 -- 同一表格中多个列如何调用另一表格中的数据 同一表格中多个列如何调用另一表格中的数据,如表格1[有产品1]、[产品2]、[产品3]三个列,表格2中有【产品】、【单价】两个列,如何计算表格1中同一行中3个产品单价和 |
-- 作者:大红袍 -- 发布时间:2015/8/24 18:15:00 -- 查询三次,把和相加即可。 http://www.foxtable.com/help/topics/1451.htm
|
-- 作者:lismn456 -- 发布时间:2015/8/25 9:43:00 -- 不能实现啊,是不是列名对应不了造成的
|
-- 作者:大红袍 -- 发布时间:2015/8/25 9:50:00 -- 参考2楼,贴出你写的代码。 |
-- 作者:lismn456 -- 发布时间:2015/8/25 10:10:00 -- If e.DataCol.Name = "产品" ThenDim nms() As String = {"产品1","产品2","产品3"} If e.NewValue Is Nothing Then For Each nm As String In nms e.DataRow(nm) = Nothing Next Else Dim dr As DataRow dr = DataTables("产品").Find("[产品] = \'" & e.NewValue & "\'") If dr IsNot Nothing For Each nm As String In nms e.DataRow(nm) = dr(nm) Next End If End If End If |
-- 作者:大红袍 -- 发布时间:2015/8/25 10:35:00 -- Select Case e.DataCol.Name Case "产品1","产品2","产品3" Dim fdr1 As DataRow = DataTables("产品").Find("[产品] = \'" & e.DataRow("产品1") & "\'") Dim fdr2 As DataRow = DataTables("产品").Find("[产品] = \'" & e.DataRow("产品2") & "\'") Dim fdr3 As DataRow = DataTables("产品").Find("[产品] = \'" & e.DataRow("产品3") & "\'") Dim sum As Double = 0 If fdr1 IsNot Nothing Then sum += fdr1("单价") If fdr2 IsNot Nothing Then sum += fdr2("单价") If fdr3 IsNot Nothing Then sum += fdr3("单价") e.DataRow("单价和") = sum End Select |