以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]统计计算  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=43825)

--  作者:huhu123456
--  发布时间:2013/12/16 16:46:00
--  [求助]统计计算

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目6-1-4.zip

现在问题就是电费表里面的年窗口可以把电费代码为A的用户的总费用计算出来了,但是是统计一年的电量后要再进行计算,计算公式是第一档:0-2160度,就是原电价0.573元,第二档:2161-4800度时,每度提高0.05元,第三档4801度及以上就是每度提高0.30元。

这个计算出来了要出一个EXCEL的报表。


--  作者:Bin
--  发布时间:2013/12/16 16:53:00
--  
直接把你这个计算出来的这个表SaveExcel不就可以了吗?
--  作者:huhu123456
--  发布时间:2013/12/16 17:00:00
--  

这个计算公式写在哪?


--  作者:Bin
--  发布时间:2013/12/16 17:02:00
--  
你不是已经计算出来在表上了吗?

先算在表上,再导出

--  作者:huhu123456
--  发布时间:2013/12/16 17:07:00
--  

没有计算出来啊,算出来的是总电量。现在要把公式套进去算价格


--  作者:Bin
--  发布时间:2013/12/16 17:16:00
--  
你可以在窗口表,增加一个列,然后计算在表中使用代码计算,再导出即可.
--  作者:huhu123456
--  发布时间:2013/12/16 17:22:00
--  

窗口里面增加列?


--  作者:有点甜
--  发布时间:2013/12/16 19:43:00
--  
 代码如下

Dim t As Table = e.Form.Controls("居民生活电价").Table

Dim g As New GroupTableBuilder("统计表1", DataTables("电费"))
g.Groups.AddDef("日期", DateGroupEnum.Year, "年")
g.Groups.AddDef("电费代码")
g.Groups.AddDef("姓名")
g.Totals.AddDef("抄见电量",True)
g.Filter = "电费代码 is not null and 电费代码 <> \'\' and 电费代码 = \'A\'"
t.datasource = g.BuildDataSource

t.DataTable.DataCols.Add("总费用", Gettype(Double))
For Each r As Row In t.Rows
    If r("抄见电量") > 2160 Then
        r("总费用") += 2160 * 0.573
        If r("抄见电量") > 4800 Then
            r("总费用") += (4800-2160) * (0.573+0.05)
            r("总费用") += (r("抄见电量")-4800) * (0.573+0.3)
        Else
            r("总费用") += (r("抄见电量")-2160) * (0.573+0.05)
        End If
    Else
        r("总费用") = r("抄见电量") * 0.573
    End If
Next

--  作者:huhu123456
--  发布时间:2013/12/17 11:30:00
--  
这个抄见电量好像统计得有问题,多出来很多!
--  作者:Bin
--  发布时间:2013/12/17 11:33:00
--  
有问题,说明计算公式不对,你自己检查一下,看看是写错了公式,还是自己算错了.  对应修改一下就可以了.

毕竟怎么算,只有你自己最清楚.