Foxtable(狐表)用户栏目专家坐堂 → 求助:如何一键实现帅选本月数据


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

主题:求助:如何一键实现帅选本月数据

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


加好友 发短信
等级:婴狐 帖子:35 积分:359 威望:0 精华:0 注册:2012/12/24 22:00:00
求助:如何一键实现帅选本月数据  发帖心情 Post By:2013/4/10 22:03:00 [只看该作者]

在表一中有一列是日期,菜单中有两个按键,怎么通过按按键1实现表一中的数据全为本月数据,按键2实现显示所有数据

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


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

按时段筛选数据
我们经常需要筛选某个时段的数据,下面列出了各种情况的筛选代码给大家参考。

筛选指定年份数据
例如筛选2011年的订单:
Dim y As Integer = 2011 '指定年份
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 1)
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Tables("订单").Filter = Filter

筛选指定月份数据
例如筛选2011年6月份的订单:
Dim y As Integer = 2011 '指定年份
Dim m As Integer = 6 '指定月份
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(2011,6)) '获取该月的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Tables("订单").Filter = Filter

筛选指定季度的数据
例如筛选2011年2季度的订单:
Dim y As Integer = 2011 '指定年份
Dim q As Integer = 2 '指定季度
Dim dt1 As New Date(y, 3 * (q - 1) + 1, 1) '获取该季度的第一天
Dim dt2 As New Date(y, 3 * q, Date.DaysInMonth(2011,3 * q)) '获取该季度的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Tables("订单").Filter = Filter

筛选本年数据
例如筛选本年的订单:
Dim y As Integer = Date.Today.Year
Dim dt1 As New Date(y, 1, 1)
Dim dt2 As New Date(y, 12, 31)
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Tables("订单").Filter = Filter

筛选本季度数据
例如筛选本季度的订单:
Dim y As Integer = Date.Today.Year
Dim q As Integer = (Date.Today.Month - 1) \ 3 + 1 '计算现在是第几个季度
Dim dt1 As New Date(y, 3 * (q - 1) + 1, 1) '获取本季度的第一天
Dim dt2 As New Date(y, 3 * q, Date.DaysInMonth(2011,3 * q)) '获取本季度的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Tables("订单").Filter = Filter

筛选本月数据
例如筛选本月的订单:
Dim y As Integer = Date.Today.Year
Dim m As Integer = Date.Today.Month
Dim dt1 As New Date(y, m, 1)
Dim dt2 As New Date(y, m, Date.DaysInMonth(y, m)) '获取本月的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Tables("订单").Filter = Filter

筛选本周数据
例如筛选本周的订单:
Dim y As Integer = Date.Today.Year
Dim w As Integer = Date.Today.DayOfWeek '算出今天是星期几
Dim dt1 As Date = Date.Today.AddDays(-w) '获取本周的第一天
Dim dt2 As Date = Date.Today.AddDays(6 - w) '获取本周的最后一天
Dim Filter As String
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
Tables("订单").Filter = Filter


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


加好友 发短信
等级:三尾狐 帖子:677 积分:6222 威望:0 精华:0 注册:2012/1/20 17:53:00
  发帖心情 Post By:2013/5/7 20:13:00 [只看该作者]

这个太有用了,顶。收藏了

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


加好友 发短信
等级:小狐 帖子:393 积分:2498 威望:0 精华:0 注册:2013/4/17 6:41:00
  发帖心情 Post By:2013/6/12 6:59:00 [只看该作者]

请问高手:如何用按扭一健显示今天日期的所有筛选?


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/6/12 8:55:00 [只看该作者]

菜单按钮:(初始文本:查询本月)

(注:日期列的日期时间格式Date)

If e.Button.Text = "查询本月" Then
    e.Button.Text = "查询全部"
    Dim dt1 As Date = Format(Date.Today,"y")
    Dim dt2 As Date = Date.Today()
    Dim Filter As String
    Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"
    Tables("订单").Filter = Filter
Else
    e.Button.Text = "查询本月"
    Tables("订单").Filter = ""
End If


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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/6/12 9:08:00 [只看该作者]

查询当天数据:

 

(注:日期列的日期时间格式DateLongTime)

If e.Sender.Text = "查询当日" Then
    e.Sender.Text = "查询全部"
    Dim dt1 As Date = Format(Date.Today,"m")
    Dim dt2 As Date = Date.Now()
    Dim Filter As String
    Filter = "第二列 > = #" & dt1 & "# And 第二列 < = #" & dt2 & "#"
    Tables("表C").Filter = Filter
Else
    e.Sender.Text = "查询当日"
    Tables("表C").Filter = ""
End If
 

 

[此贴子已经被作者于2013-6-12 9:14:51编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/6/12 10:55:00 [只看该作者]

简化版:

本年 Tables("订单").Filter = "日期 > = #" & Date.Now().Year & "-01-01" & "# And 日期 < = #" & Date.Now() & "#"
本月 Tables("订单").Filter = "日期 > = #" & Format(Date.Now(),"y") & "# And 日期 < = #" & Date.Now() & "#"
本日 Tables("订单").Filter = "日期 > = #" & Format(Date.Now(),"m") & "# And 日期 < = #" & Date.Now() & "#"

[此贴子已经被作者于2013-6-12 12:52:48编辑过]

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


加好友 发短信
等级:小狐 帖子:393 积分:2498 威望:0 精华:0 注册:2013/4/17 6:41:00
  发帖心情 Post By:2013/6/14 6:55:00 [只看该作者]

请问高手:如何一健显示明天的数据?

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


加好友 发短信
等级:幼狐 帖子:116 积分:687 威望:0 精华:0 注册:2013/5/31 14:25:00
  发帖心情 Post By:2013/6/14 8:47:00 [只看该作者]

LZ,请在相应的代码中使用 Tables("订单").Filter = Filter 进行筛选,筛选日期的一般思路是这样:定义要筛选时段的第一天最后一天,筛选的条件就是:第一天≤筛选日期≤最后一天。


例如筛选2011年6月份的订单:
Dim y As Integer = 2011 '指定年份
Dim m As Integer = 6 '指定月份
Dim dt1 As New Date(y, m, 1)  '获得该月第一天
Dim dt2 As New Date(y, m, Date.DaysInMonth(2011,6)) '获取该月的最后一天
Dim Filter As String     '转化为字符串
Filter = "日期 >= #" & dt1 & "# And 日期 <= #" & dt2 & "#"   '筛选条件为第一天≤筛选日期≤最后一天
Tables("订单").Filter = Filter


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


加好友 发短信
等级:管理员 帖子:47448 积分:251054 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/6/14 8:53:00 [只看该作者]

以下是引用ZHX241806在2013-6-14 6:55:00的发言:
请问高手:如何一健显示明天的数据?

 

Dim dt As date = Date.Today.Adddays(1)

Tables("xxx").Filter = "日期 = #" & dt & "#"


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