以文本方式查看主题 - 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关联字段一样的 列的值综合 求解:如何实现现金流量计划表中 只计算与企业概况表中计划书编号关联字段一样的 列的值 的总和
代码如下: 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 -- 看了一下,你获取行的代码不能这样写。你应该这样写。比如
|
||||
-- 作者: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("计划书编号") & "\'") |
||||
-- 作者:李孝春 -- 发布时间: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("计划书编号") & "\'") 运行后错误如图 有点甜老师 继续求解 麻烦你
|