Foxtable(狐表)用户栏目专家坐堂 → 查询30天内有购买的顾客的记录。。。


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

主题:查询30天内有购买的顾客的记录。。。

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
查询30天内有购买的顾客的记录。。。  发帖心情 Post By:2014/3/9 10:57:00 [只看该作者]

各位老师,我要在{消费记录}表中查询30天内有购买的顾客,参照 帮助中 未来七天即将过生日  的代码:


Dim nms As String
Dim
n As Integer = 6 '未来天数,含今天,所以实际是未来7天
For
Each dr As DataRow In DataTables("员工").DataRows
Dim dt As Date = dr("出生日期")
Dim dt1 As New Date(Date.Today.Year,dt.Month,dt.Day)
Dim dt2 As New Date(Date.Today.AddDays(n).Year,dt.Month,dt.Day)

If (dt1 >= Date.Today AndAlso dt1 < Date.Today.AddDays(n)) OrElse (dt2 >= Date.Today AndAlso dt2 < Date.Today.AddDays(n)) Then
nms = nms &
",'" & dr("姓名") & "'"
End If
Next
If
nms > "" Then
nms = nms.Trim(",")
Tables("员工").filter = "[姓名] In (" & nms &")"
End If


写成如下代码:


Dim nms As String
Dim 
n As Integer = -29 '未来天数,含今天,所以实际是未来7天
For
 Each dr As DataRow In DataTables("消费记录").DataRows
Dim dt As Date = dr("最后购买日期")
Dim dt1 As New Date(Date.Today.Year,dt.Month,dt.Day)
Dim dt2 As New Date(Date.Today.AddDays(n).Year,dt.Month,dt.Day)

If (dt1 <= Date.Today AndAlso dt1 > Date.Today.AddDays(n)) OrElse (dt2 <= Date.Today AndAlso dt2 > Date.Today.AddDays(n)) Then
nms = nms & 
",'" & dr("VIP卡号") & "'"
End If
Next
If
 nms > "" Then
nms = nms.Trim(",")
Tables("消费记录").filter = "[VIP卡号] In (" & nms &")"
End If


但是没有实现,是不是哪里错了?


我知道一点是:生日的查询查到月和日,不管年份,而我这个查询要具体到年月日,但是不知道怎么写。。。


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


加好友 发短信
等级:小狐 帖子:363 积分:3837 威望:0 精华:0 注册:2012/4/16 20:20:00
  发帖心情 Post By:2014/3/9 11:05:00 [只看该作者]

VIP卡号 是不是整数列?
如果是整数列,应该是:nms = nms & "," & dr("VIP卡号")

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/10 15:04:00 [只看该作者]

谢谢ericsky,VIP卡号不是整数列,只是一个字符列。

怎么查询出购买日期在30天内的数据呢?
[此贴子已经被作者于2014-3-10 15:11:37编辑过]

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 15:25:00 [只看该作者]

出什么错? 上个例子看看.

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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 15:32:00 [只看该作者]

你这个直接筛选日期范围就得了,不用这么复杂

Dim dt2 As date = Date.Today.AddDays(-30)

Tables("消费记录").filter = "最后购买日期>= #" & dt2 & "# and "最后购买日期<= #" & date.toDay & "#"

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/10 15:57:00 [只看该作者]

Bin老师,请看:
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:30天内有消费.rar



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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/3/10 16:08:00 [只看该作者]

5楼的代码你看了吗,就是这么简单,没别的.

Dim dt2 As Date = Date.Today.AddDays(-30)

Tables("VIP消费信息").filter = "购买日期>= #" & dt2 & "# and 购买日期<= #" & Date.Today & "#"

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


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2014/3/10 16:17:00 [只看该作者]

谢谢Bin老师,完美解决。就要这样的代码,简单简洁!!

 回到顶部