Foxtable(狐表)用户栏目专家坐堂 → 一个登记状态列有借出与归还两个状态,怎么判断两个状态不平等时候,显示借出状态最后一行数据呢?


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

主题:一个登记状态列有借出与归还两个状态,怎么判断两个状态不平等时候,显示借出状态最后一行数据呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/27 9:22:00 [显示全部帖子]

首先分组统计各个编号的借出数和归还数,然后得到相减的结果,显示出对应数据。

 

如果还需要在原表那里显示,就根据编号,把最后一行数据显示出来。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/27 11:13:00 [显示全部帖子]

以下是引用李孝春在2018/2/27 10:44:00的发言:

不得要领哦  分组统计中  无法对登记状态这个字符进行统计

 

 

哦,是交叉统计。得到统计数据,然后就可以对统计表筛选了。

 

如果要对原表筛选,就比较麻烦,要额外编写代码。


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/27 11:39:00 [显示全部帖子]

参考代码

 

Dim g As New CrossTableBuilder("统计表1", DataTables("用户记录_Table1"))
g.HGroups.AddDef("名称")
g.HGroups.AddDef("案件编号")
g.HGroups.AddDef("编号")
g.HGroups.AddDef("序号")
g.HGroups.AddDef("数量")
g.HGroups.AddDef("承办人")
g.VGroups.AddDef("登记状态")
g.Totals.AddDef("案件编号", AggregateEnum.Count, "案件编号")
Dim t = e.form.controls("Table1").Table
t.datasource = g.BuildDataSource
't.filter = "案件编号_2 > 案件编号_1"


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/27 14:56:00 [显示全部帖子]

1、加上条件就行,如 t.filter = "案件编号_2 > 案件编号_1"

 

2、或者改成

 

Dim idxs As String = "-1,"
Dim t As Table = e.form.controls("Table1").Table
For Each bh As String In t.DataTable.getvalues("加密字符")
    Dim o As Integer = t.Compute("count(加密字符)", "加密字符 = '" & bh & "' and 登记状态 = '借出'")
    Dim i As Integer = t.Compute("count(加密字符)", "加密字符 = '" & bh & "' and 登记状态 = '归还'")
    If o >= i Then
        idxs &= t.DataTable.Find("加密字符 = '" & bh & "' and 登记状态 = '借出'", "_Identify desc")("_Identify") & ","
    End If
Next
t.filter = "_Identify in (" & idxs.trim(",") & ")"


 回到顶部