Foxtable(狐表)用户栏目专家坐堂 → 按时间段统计数值


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

主题:按时间段统计数值

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7598 威望:0 精华:0 注册:2009/6/24 9:44:00
按时间段统计数值  发帖心情 Post By:2023/10/9 15:47:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("统计表1", "操作表")
b.C
b.AddTable("操作表", "sureyid", "主表", "sureyid") '添加统计表
b.Groups.AddDef("cargo") '根据产品名称分组
b.Totals.AddDef("weightofcargo") '对数量进行统计
b.Build '生成统计表
Maintable = Tables("统计表1") '打开生成的统计表

 

假如主表有一列日期列,主表与操作表是通过sureyid进行关联,现在想统计日期列为2023.01.05-2023.08.09,这段时间的货物数量和,应该怎么改?也就是主表加了一个日期范围,


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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/9 15:50:00 [只看该作者]

b.filter = "日期>=#01/05/2023# and 日期<=#08/09/2023#"

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7598 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2023/10/9 16:05:00 [只看该作者]

运行后提示我#附近有语法错误呢?

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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/9 16:10:00 [只看该作者]


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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7598 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2023/10/9 21:30:00 [只看该作者]

还是相同实例,b.Groups.AddDef("cargo") '根据产品名称分组,这句,假如cargo列分别有产品a,b,c,我现在只想得到产品b的统计结果,不需要a和 c的,怎样直接得到?

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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/9 21:57:00 [只看该作者]

b.filter = "cargo='b'"

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7598 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2023/10/9 22:01:00 [只看该作者]

解决了:b.Filter = "[客户] = 'CS01'"

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7598 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2023/10/10 13:45:00 [只看该作者]

b.Totals.AddDef("重量") '对数量进行统计,现在想新增统计项,对操作表中的“重量”列进行求和,前提是操作表中“次数”列等于1的行,怎样写?

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


加好友 发短信
等级:超级版主 帖子:110758 积分:563716 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/10/10 13:48:00 [只看该作者]

不都是一样的用法吗,换个条件就不会?

b.filter = "次数=1"

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


加好友 发短信
等级:五尾狐 帖子:1065 积分:7598 威望:0 精华:0 注册:2009/6/24 9:44:00
  发帖心情 Post By:2023/10/10 14:02:00 [只看该作者]

Dim b As New SQLGroupTableBuilder("统计表1", "操作表")
b.C
b.AddTable("操作表", "sureyid", "主表", "sureyid") '添加统计表
b.Groups.AddDef("cargo") '根据产品名称分组
b.Totals.AddDef("weightofcargo") '对数量进行统计
b.Totals.AddDef("bl") '对数量进行统计
Dim filter As String

With e.Form.Controls("StartDate1")
    If .Value IsNot Nothing Then
        Filter = "日期 >= '" & .Value & "'"
    End If
End With
With e.Form.Controls("EndDate1")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= '" & .Value & "'"
    End If
End With
With e.Form.Controls("货物")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "[cargo]= '" & .Value & "'"
    End If
End With
With e.Form.Controls("船代")
    If .Value IsNot Nothing Then
        If Filter > "" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "[company]= '" & .Value & "'"
    End If
End With

'b.filter = "日期>='01/05/2023' and 日期<='08/09/2023' and [cargo] = '煤'"
If Filter > "" Then

    b.filter = filter & "and 次数=1"
   
    Tables("主表_Table5").DataSource = b.BuildDataSource()
    ' Maintable = Tables("统计表1") '打开生成的统计表
    'b.Build '生成统计表

Else
    messagebox.Show("请填入选项再搜索")
End If

 

修改黄色部分后,现在weightofcargo那列没有数值了


 回到顶部
总数 18 1 2 下一页