设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[窗体] strwhere 筛选语句请教(搞定、谢谢)

[复制链接]
跳转到指定楼层
1#
发表于 2013-3-24 20:03:45 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 大连海员 于 2013-3-26 20:06 编辑

请教各位:

要编写一个筛选语句,内容为:
如果“日期1”和“日期2”都不为空,则筛选出:“日期”>“日期1” 和“日期”<“日期2”的数据,我编写后运行不对,请指教,语句如下:
    If Not IsNull(Me.日期1) And IsNull(Me.日期2) Then
        '有输入
   strWhere = strWhere & "([日期] > '*" & Me.日期1 & "*') AND " & "([日期] < '*" & Me.日期2 & "*') AND "
    End If
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2013-3-24 20:33:35 | 只看该作者
If Not IsNull(Me.日期1) Then strWhere = strWhere & " AND 日期>=#" & Me.日期1 & "#"
If Not IsNull(Me.日期2) Then strWhere = strWhere & " AND 日期<=#" & Me.日期2 & "#"
3#
 楼主| 发表于 2013-3-24 21:56:35 | 只看该作者
谢谢楼上的回复,但好象还是不对,我的水平不高,能否帮忙修改为与if 和end if 完全一样的格式,因为这个查询中还有别的一些查询语句,必须要一样才行的。

再次感谢
4#
发表于 2013-3-25 07:23:34 | 只看该作者
把你原来的语句的*换成#,在把单引号去掉就可以了啊。
当然,IF条件也有错。 If Not IsNull(Me.日期1) And IsNull(Me.日期2) Then 改为If Not IsNull(Me.日期1) And not IsNull(Me.日期2) Then
5#
发表于 2013-3-25 09:11:15 | 只看该作者
6#
 楼主| 发表于 2013-3-25 20:15:48 | 只看该作者
谢谢楼上各位指教,后来改为以下语句后正确了:
If Not IsNull(Me.日期1) And Not IsNull(Me.日期2) Then
strWhere = strWhere & "([日期] > #" & Me.建期1 & "#) AND "
strWhere = strWhere & "([日期] < #" & Me.日期2 & "#) AND "
    End If

但是我对这文本、数字、日期的格式理解还是不太对,因此接下来的一个数字型的,又整不对了(什么*, ' '' 的整不明白了),麻烦再看一下数字的符号如何改的:
If Not IsNull(Me.数字1) And Not IsNull(Me.数字2) Then
strWhere = strWhere & "([数字] > #" & Me.数字1 & "#) AND "
strWhere = strWhere & "([数字] < #" & Me.数字2 & "#) AND "
    End If

再次感谢各位帮助
7#
发表于 2013-3-25 21:07:22 | 只看该作者
大连海员 发表于 2013-3-25 20:15
谢谢楼上各位指教,后来改为以下语句后正确了:
If Not IsNull(Me.日期1) And Not IsNull(Me.日期2) Then ...

1、文本加单引号(如果用双引号则注意加上转义符)。
2、日期加井号。
3、数值型什么都不加。
8#
 楼主| 发表于 2013-3-26 20:05:35 | 只看该作者
搞定了,多谢各位的指点。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 14:43 , Processed in 0.089849 second(s), 32 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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