以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  求解:如何实现关联表中 表B只计算和A关联字段一样的 列的值综合  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=53191)

--  作者:李孝春
--  发布时间:2014/7/2 2:45:00
--  求解:如何实现关联表中 表B只计算和A关联字段一样的 列的值综合
求解:如何实现现金流量计划表中 只计算与企业概况表中计划书编号关联字段一样的 列的值 的总和
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:计划书.rar
代码如下:
Dim r As Row =Tables("企业概况.企业组织").Current
Dim r2 As Row =Tables("企业概况").Current
Dim r3 As Row =Tables("企业概况.固定资产折旧流动资金").Current
Dim r4 As Row =Tables("企业概况.销售和成本计划表").Current
Select Case e.DataCol.name
    Case "月份"
        If e.DataRow.Isnull("月份") = False Then
            e.DataRow("现金流出_现金采购支出_项目1")=r3("原材料1_总费用")+r3("原材料2_总费用")+r3("原材料3_总费用")+r3("原材料4_总费用")+r3("原材料5_总费用")+r3("原材料6_总费用")
            e.DataRow("现金流出_业主工资")= r("业主或经理_月薪")
            e.DataRow("现金流出_员工工资")=r("员工1_月薪")+r("员工2_月薪")+r("员工3_月薪")
            e.DataRow("现金流出_营销费用")=r2("人员推销_成本")+r2("广告_成本")+r2("公共关系_成本")+r2("营业推广_成本")
            e.DataRow("现金流出_保险费")=r("责任1_费用")
            e.DataRow("现金流出_公用事业费")=r3("经营费用5_费用")
            e.DataRow("现金流出_维修费")=r3("经营费用6_费用")
        End If
End Select

上述代码能够实现月份变动后
自动从相关表中获取数据并计算出来, 
由于现金流量计划表是和企业概况中的计划书编号字段是关联的   
不同的计划书编号 是对应不同的现金流量计划表

现在故障出现:
不同计划书编号 不能对应只计算对应计划书编号的值 
而是计算了所有当前表当前列的值
比如原材料1总费用就计算了表  企业概况.固定资产折旧流动资金 中的所有原材料1列的所有数值
求解:如何实现关联表中 只计算计划书编号一样的 列的值

--  作者:blackzhu
--  发布时间:2014/7/2 7:59:00
--  
很奇怪 你的关联表确定只有一行,如果只有一行,要关联表干嘛?
--  作者:李孝春
--  发布时间:2014/7/2 8:55:00
--  回复:(blackzhu)很奇怪 你的关联表确定只有一行,如...
朱老师不是只有一行  是有12行  1到12月  现在的问题是假设编号为1的  1到12月有数据 能够单独计算出来且准确  如果连续生成编号为2的 1到12月的数据  这个字段列就会计算该字段下的所有数据 而不是只算编号为2的该字段的数据
--  作者:有点甜
--  发布时间:2014/7/2 9:13:00
--  

 看了一下,你获取行的代码不能这样写。你应该这样写。比如


Dim r2 As Row = DataTables("企业概况").Find("计划书编号 = \'" & e.DataRow("计划书编号") & "\'")
Dim r As Row = DataTables("企业组织").Find("xxx")
Dim r3 As Row = DataTables("固定资产折旧流动资金").Find("yyy")
Dim r4 As Row = DataTables("销售和成本计划表").Find("zzz")

 


--  作者:Bin
--  发布时间:2014/7/2 9:14:00
--  
你的关联表,我都找不到有计划书编号列
--  作者:李孝春
--  发布时间:2014/7/2 9:23:00
--  有的哦 BIN老师
有的哦 BIN老师 在表字段中的 比如现金流量计划表
--  作者:有点甜
--  发布时间:2014/7/2 9:38:00
--  
以下是引用李孝春在2014-7-2 9:23:00的发言:
有的哦 BIN老师 在表字段中的 比如现金流量计划表

 

看4楼,你获取对应数据的时候,不能用Current,要直接根据对应关联的字段查找行。

 

Dim r2 As Row = DataTables("企业概况").Find("计划书编号 = \'" & e.DataRow("计划书编号") & "\'")
Dim r As Row = DataTables("企业组织").Find("xxx")
Dim r3 As Row = DataTables("固定资产折旧流动资金").Find("yyy")
Dim r4 As Row = DataTables("销售和成本计划表").Find("zzz")


--  作者:李孝春
--  发布时间:2014/7/5 2:19:00
--  回复:(有点甜)以下是引用李孝春在2014-7-2 9:23:00...
Dim r As Row =DataTables("企业组织").Find("计划书编号 = \'" & e.DataRow("计划书编号") & "\'")
Dim r2 As Row = DataTables("企业概况").Find("计划书编号 = \'" & e.DataRow("计划书编号") & "\'")
Dim r3 As Row =DataTables("固定资产折旧流动资金").Find("计划书编号 = \'" & e.DataRow("计划书编号") & "\'")
Dim r4 As Row =DataTables("销售和成本计划表").Find("计划书编号 = \'" & e.DataRow("计划书编号") & "\'")

运行后错误如图


图片点击可在新窗口打开查看此主题相关图片如下:悄悄问问饿.jpg
图片点击可在新窗口打开查看


有点甜老师 继续求解 麻烦你