Foxtable(狐表)用户栏目专家坐堂 → 数据统计


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

主题:数据统计

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


加好友 发短信
等级:幼狐 帖子:50 积分:490 威望:0 精华:0 注册:2017/2/22 10:28:00
数据统计  发帖心情 Post By:2017/11/29 14:35:00 [只看该作者]

我有一个工作表,有日期和金额两个字段,想要实现以下功能,怎样设计:
1、按日期和金额从大到小排序
2、能够按金额累计达到一定值进行筛选,如:500、400、300、200、100,筛选累计到1000的记录,则只有前三条记录显示

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/11/29 14:52:00 [只看该作者]

1、排序

 

Tables("表A").Sort = "日期 desc,金额 desc"

 

2、在排序基础上,循环每一行,相减即可,如

 

Dim t As Table = Tables("表A")
t.Sort = "日期 desc,金额 desc"
Dim sum As Double = 1000
Dim idx As String = "-1,"
For Each r As Row In t.rows
    If sum >= r("金额") Then
        sum -= r("金额")
        idx &= r("_Identify") & ","
    Else
        idx &= r("_Identify") & ","
        Exit For
    End If
Next
t.filter = "_Identify in (" & idx.trim(",") & ")"


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


加好友 发短信
等级:幼狐 帖子:50 积分:490 威望:0 精华:0 注册:2017/2/22 10:28:00
  发帖心情 Post By:2017/11/30 17:48:00 [只看该作者]

谢谢

 回到顶部