设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12下一页
返回列表 发新帖
查看: 5354|回复: 14
打印 上一主题 下一主题

未解决,请问这个SQL查询的条件应怎么运用

[复制链接]
跳转到指定楼层
1#
发表于 2007-12-15 12:02:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
ADP查询和MDB查询不一样,这个是WHERE条件,弄进去不得,应怎么改,请指点下

Between (IIf(IsNull([Forms]![员工工资明细]![出厂日期开始]),#2002-1-1#,[Forms]![员工工资明细]![出厂日期开始])) And (IIf(IsNull([Forms]![员工工资明细]![出厂日期截止]),#2099-12-31#,[Forms]![员工工资明细]![出厂日期截止]))未

[ 本帖最后由 sbsfhgl 于 2007-12-19 13:45 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2007-12-15 14:20:02 | 只看该作者
很少用ADP
用Switch代替iif
3#
 楼主| 发表于 2007-12-15 15:24:52 | 只看该作者
很少用ADP?不是说ADP+SQL比MDB+SQL好许多倍吗?
再问个,下面这个语句要两个参数,在ADP中怎么弄?
LIKE IIf(ISNULL(N'[Forms]![不良批次处理统计]![工序]'), '*', '*' & N'[Forms]![不良批次处理统计]![工序]' & '*')
4#
 楼主| 发表于 2007-12-17 09:22:42 | 只看该作者
有没有会呀?????
5#
 楼主| 发表于 2007-12-17 12:41:45 | 只看该作者
。。。。。。。。。。。。。。。。
6#
发表于 2007-12-17 13:02:46 | 只看该作者
我想你最好用一个函数返回日期.
因为一个字段看上去没有值的时候,很可能是一个长度为0的字串,这时isnull()返回的是假.
建议做下面的修改:
Between fBegindata() And fEnddata()

其中的fBegindata()和fEnddata()是两个函数,你可以在函数中返回正确的日期.
7#
 楼主| 发表于 2007-12-17 14:40:03 | 只看该作者
那 fBegindata() 的函数怎么写,我只要一个例子就行了,这个我还不会。因为没有例子。
还有下面这个要求输入两个参数:
LIKE IIf(ISNULL(N'[Forms]![不良批次处理统计]![工序]'), '*', '*' & N'[Forms]![不良批次处理统计]![工序]' & '*')
8#
 楼主| 发表于 2007-12-18 07:59:52 | 只看该作者
。。。。。。。。。。。。。。。。
9#
发表于 2007-12-18 08:19:03 | 只看该作者
在ADP中通配符有所不同,? * 在ADP中是_ %
此为参考,请楼主查看
10#
发表于 2007-12-18 11:43:09 | 只看该作者
原帖由 sbsfhgl 于 2007-12-17 14:40 发表
那 fBegindata() 的函数怎么写,我只要一个例子就行了,这个我还不会。因为没有例子。
还有下面这个要求输入两个参数:
LIKE IIf(ISNULL(N'[Forms]![不良批次处理统计]![工序]'), '*', '*' & N'[Forms]![不良批次处 ...


大概如下面的例子
public function fBegindata() as date
if not isdate([Forms]![员工工资明细]![出厂日期开始]) then
fBegindata=#2002-1-1#
else
fBegindata=[Forms]![员工工资明细]![出厂日期开始]
end if
end function
没有调试.  :-)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-14 13:18 , Processed in 0.080426 second(s), 34 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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