设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 1459|回复: 6
打印 上一主题 下一主题

[查询] 请教高手这段日期段查询的SQL语句怎么写

[复制链接]
跳转到指定楼层
1#
发表于 2007-6-7 19:59:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请教高手这段日期段查询的SQL语句该怎么改?

   If IsNull(Me.Input_date_min) And Not IsNull(Me.Input_date_max) Then
      STSQL = STSQL & " and [Input_date] <= '" & CDate(Me.Input_date_max.Text) & "'"

   ElseIf Not IsNull(Me.Input_date_min) And IsNull(Me.Input_date_max) Then
      STSQL = STSQL & " and [Input_date] >= '" & CDate(Me.Input_date_min.Text) & "'"

   ElseIf Not IsNull(Me.Input_date_min) And Not IsNull(Me.Input_date_max) Then
      STSQL = STSQL & " and [Input_date] between '" & CDate(Me.Input_date_min.Text) & "' and '" & CDate(Me.Input_date_max.Text) & "'"

      
   End If

   If IsNull(Me.Revise_date_min) And Not IsNull(Me.Revise_date_max) Then
      STSQL = STSQL & " and [Revise_date] <= '" & CDate(Me.Revise_date_max.Text) & "'"

   ElseIf Not IsNull(Me.Revise_date_min) And IsNull(Me.Revise_date_max) Then
      STSQL = STSQL & " and [Revise_date] >= '" & CDate(Me.Revise_date_min.Text) & "'"

   ElseIf Not IsNull(Me.Revise_date_min) And Not IsNull(Me.Revise_date_max) Then
      STSQL = STSQL & " and [Revise_date] between '" & CDate(Me.Revise_date_min.Text) & "' and '" & CDate(Me.Revise_date_max.Text) & "'"

   End If
                              
   Me.F_pur_data.Form.RecordSource = STSQL

运行时提示:除非控件获得焦点,否则您不能引用该控件的属性或者方法 (补充一点,这是在ADP下的)

我试过不要.text,但只有4个条件都输入时,才能出结果,否则就提示类型不匹配...

要是先输入4个条件,然后再删除掉其中1个或2个或3个,也可以出结果....

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2007-6-7 20:00:00 | 只看该作者
在线等待方法,求高手指教!

3#
发表于 2007-6-7 20:02:00 | 只看该作者
我不是高手,我闪一边!
4#
 楼主| 发表于 2007-6-7 20:07:00 | 只看该作者
....会的人不一定是高手,不会的人也不一定不是高手,但可以肯定的是:如果谁帮我搞定了,那我相信他肯定是个高手
5#
发表于 2007-6-7 21:01:00 | 只看该作者
我只用between and

不要用cdate,也不要用.text

如果只有Me.Input_date_max,那么就从1970-01-01到max

同理,只有Me.Input_date_min,那么就从min到2050-01-01,足够用了吧。

max和min都填,这个你自己会做。between min and max
6#
 楼主| 发表于 2007-6-7 22:52:00 | 只看该作者
谢谢tz-chf

不过还有一问题,就是假如我设了一清除查询条件的按钮

在单击事件中写入:

me.Input_date_min=""

me.Input_date_max=""

me.Revise_date_min=""

me.Revise_date_max=""

再执行查询时就不行了,没有结果显示哦!

是不是不能用上面这种清除方法?
7#
发表于 2007-6-7 23:11:00 | 只看该作者
下面的也一起清空了吗

STSQL=""
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-21 10:12 , Processed in 0.089993 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表