Foxtable(狐表)用户栏目专家坐堂 → 筛选订单日期如何可以安年月筛选


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

主题:筛选订单日期如何可以安年月筛选

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 22:27:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试表.table


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/5/26 23:03:00 [显示全部帖子]

修改后马上保存就可以了。

不想保存的话,就增加一个年月列,然后通过年月列操作

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/17 10:06:00 [显示全部帖子]

你是想统计后再按日期范围进行筛选?还是想按日期范围进行统计?


Dim filter As String 
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With
Dim bd1 As New GroupTableBuilder("统计表1",DataTables("订单"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("日期", DateGroupEnum.Year, "年")
bd1.Groups.AddDef("日期", "月")
bd1.Groups.AddDef("产品编号") 
bd1.Totals.AddDef("数量", "", "数量_值")
bd1.Totals.AddDef("金额", "", "金额_值")
bd1.SamePeriodGrowth = True
bd1.CircleGrowth = True
bd1.Filter = Filter 
dt1 = bd1.BuildDataSource()
Dim t As Table = Forms("窗口2").controls("Table1").Table
t.DataSource = dt1 '将统计结果绑定到Table

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/17 10:52:00 [显示全部帖子]

Dim filter As String 
With e.Form.Controls("DateTimePicker1")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 >= #" & .Value & "#"
    End If
End With
With e.Form.Controls("DateTimePicker2")
    If .Value IsNot Nothing Then
        If Filter >"" Then
            Filter = Filter & " And "
        End If
        Filter = Filter & "日期 <= #" & .Value & "#"
    End If
End With

Dim t As Table = Forms("窗口2").controls("Table1").Table
t.Filter = Filter 

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/17 10:53:00 [显示全部帖子]


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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/17 12:05:00 [显示全部帖子]

生成统计表的时候,增加一个辅助列

Dim bd1 As New GroupTableBuilder("统计表1",DataTables("订单"))
Dim dt1 As fxDataSource
bd1.Groups.AddDef("日期", DateGroupEnum.Year, "年")
bd1.Groups.AddDef("日期", "月")
bd1.Groups.AddDef("产品编号") 
bd1.Totals.AddDef("数量", "", "数量_值")
bd1.Totals.AddDef("金额", "", "金额_值")
bd1.SamePeriodGrowth = True
bd1.CircleGrowth = True
bd1.Filter = Filter 
dt1 = bd1.BuildDataSource()
Dim t As Table = Forms("窗口2").controls("Table1").Table
t.DataSource = dt1 '将统计结果绑定到Table
t.DataTable.DataCols.Add("日期",Gettype(Date))
t.Cols("日期").Visible = False
For Each r As Row In t.Rows
    r("日期") = new Date(r("年"),r("月"),1)
Next

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


加好友 发短信
等级:超级版主 帖子:106209 积分:540168 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/6/17 14:41:00 [显示全部帖子]

改统计按钮的代码,不是改查询按钮的代码

 回到顶部