Foxtable(狐表)用户栏目专家坐堂 → 求助各位老师如何实现这样的统计(只有想不到,没有做不到)


  共有14507人关注过本帖树形打印复制链接

主题:求助各位老师如何实现这样的统计(只有想不到,没有做不到)

帅哥哟,离线,有人找我吗?
mr725
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/12/28 10:58:00 [显示全部帖子]

要做出来是够麻烦的了,但现在财务软件多如牛毛, 不会自己想编个吧~ 呵呵。
想要狐表在财务管理中应用,首先应将连接各种(如SQL、Access等)数据库作为首要任务,其次就是有效组织数据进行分析。至于明细帐、总帐,各软件中都有,导出也很方便的,不必太花心事。

当然,如果有在汇总模式下,各期(如:月)的小计下面再有一行,作为到本期累计的行就更好了(也就是把最后的总计,分配到各个期间来个累计),看狐狸爸爸肯不肯来一个了。

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/12/28 12:48:00 [显示全部帖子]

以下是引用i52117在2009-12-28 12:36:00的发言:

........................即考验开发软件又锻炼编程人员。

呵呵~ 言之有理!  

另外: 既然六爷愿意考虑,说明有戏啦~    在老六开戏之前我提供个临时解决方法:

用系统自带的统计的例子里的订单表测试吧~ ::::::::::

tables("订单").Redraw = False 
if DataTables("订单").datacols.contains("fz") = false
   DataTables("订单").DataCols.Add("fz", GetType(String), 16)
end if
if DataTables("订单").datacols.contains("月") = false
   DataTables("订单").DataCols.Add("月", GetType(double), 5)
end if
for i as integer = 0 to tables("订单").count-1
Dim dr As Row = Tables("订单").Rows(i)
    dr("月") = right(left(dr("日期"),7),2).trim("-")      ’这个刚修正了~  日期列的字符数字有问题似的???
    dr("fz") = dr("产品") & " " & dr("月")
next
Dim yjdm As List(Of String)
yjdm = DataTables("订单").GetUniqueValues("", "产品")
Dim yf As List(Of String)
yf = DataTables("订单").GetUniqueValues("", "月")
Dim cfs As Integer
For Each yj As String In yjdm
    For Each y As String In yf
        Dim cyf As List(Of String)
        cyf = DataTables("订单").GetUniqueValues("[产品]= '" & yj & "' and [月]= '" & y & "' ", "产品")
        cfs = cyf.count
        if cfs <> 0
            Dim r As Row = Tables("订单").Rows.AddNew(cfs)
            r("fz") = yj & " " & y & " " & "a"
            r("产品") = "本月合计"
            r("数量") = Tables("订单").Compute("Sum(数量)", "产品 = '" & yj & "' and 月 = '" & y & "' ")
          '  r("金额") = Tables("订单").Compute("Sum(金额)", "产品 = '" & yj & "' and 月 = '" & y & "' ")
            '注意:这个金额是表达式列,老是提示错误,还没有解决,请老师们指教!~ 下同:::  
            Dim r1 As Row = Tables("订单").Rows.AddNew(cfs)
            r1("fz") = yj & " " & y & " " & "b"
            r1("产品") = "本月累计"
            r1("数量") = Tables("订单").Compute("Sum(数量)", "产品 = '" & yj & "' and 月 <= '" & y & "'  ")
          '  r1("金额") = Tables("订单").Compute("Sum(金额)", "产品 = '" & yj & "' and 月 <= '" & y & "'  ")
         end if
    next
next
Tables("订单").Cols("产品").Width = 80
Tables("订单").sort = "fz"
tables("订单").Redraw = true


 

[此贴子已经被作者于2009-12-28 13:03:27编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/12/28 14:15:00 [显示全部帖子]

把新增的临时列: 月 列 改为字符型这样也行:
将: dr("月") = right(left(dr("日期"),7),2).trim("-")      替换为:

    dim a as string
    a = dr("日期")
    dr("月") = format(val(a.split("-")(1)),"00")
[此贴子已经被作者于2009-12-28 14:15:15编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
mr725
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2009/12/28 15:30:00 [显示全部帖子]

以下是引用i52117在2009-12-28 14:57:00的发言:
谢谢mr725 ,你的思路很好。另外用 MainTable.Value 也可以改变小计、合计的列位置


r("任何字符型的列都可以呀") = "本月合计"   用MainTable.Value 怎么定位呢??? 不明白了~  呵呵

[此贴子已经被作者于2009-12-28 15:30:35编辑过]

 回到顶部