设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

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

[查询] 关于select top语句中使用iif函数的写法

[复制链接]
跳转到指定楼层
1#
发表于 2012-5-10 23:43:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 anthonywang9 于 2012-5-10 23:44 编辑

正在做一个大记录数分页统计的模块,默认子窗体的记录数为10条。假设数据源表为table,那么子窗体的记录源就应该设置为select top 10 from table,但是当table中记录数小于10,比如9条时,select top 10将得出错误结果。
故想通过 select top iif(dcount("*","table)>=10,10,dcount("*","table")) from table order ---语句实现,可access总是判断“select 子句中包含一个保留字、拼写错误或丢失的参数或标点符号不正确”的提示。
不知道是select语句中是否存在格式错误的情况,请各位大侠修正。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
 楼主| 发表于 2012-5-11 17:44:47 | 只看该作者
todaynew 发表于 2012-5-11 07:06
1、臆想的错误,top 10 可以正常输入小于10条的记录。

2、top的参数必须是一个常量,不能是变量和表达式 ...

谢谢版主,我已经测试过,top 10 没有问题。
拼接字符串只能在VBA环境下使用,看来查询生成器中无法实现。
3#
发表于 2012-5-11 07:06:00 | 只看该作者
本帖最后由 todaynew 于 2012-5-11 07:12 编辑

1、臆想的错误,top 10 可以正常输入小于10条的记录。

2、top的参数必须是一个常量,不能是变量和表达式。

3、可通过字符串拼接的方法,将常量改变为变量或表达式,以此得到需要的sql语句字符串。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2025-2-26 05:07 , Processed in 0.084181 second(s), 26 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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