Access交流中心

北京 | 上海 | 天津 | 重庆 | 广州 | 深圳 | 珠海 | 汕头 | 佛山 | 中山 | 东莞 | 南京 | 苏州 | 无锡 | 常州 | 南通 | 扬州 | 徐州 | 杭州 | 温州 | 宁波 | 台州 | 福州 | 厦门 | 泉州 | 龙岩 | 合肥 | 芜湖 | 成都 | 遂宁 | 长沙 | 株洲 | 湘潭 | 武汉 | 南昌 | 济南 | 青岛 | 烟台 | 潍坊 | 淄博 | 济宁 | 太原 | 郑州 | 石家庄 | 保定 | 唐山 | 西安 | 大连 | 沈阳 | 长春 | 昆明 | 兰州 | 哈尔滨 | 佳木斯 | 南宁 | 桂林 | 海口 | 贵阳 | 西宁 | 乌鲁木齐 | 包头 |

IIF条件太多导致表达式太复杂如何处理

jack  发表于:2012-10-05 10:51:31  
复制

要对一列数据进行分类,有80几万条记录,可以按下面的分类(100间隔)进行,但如果间隔要精确到50,下面的条件将翻倍,access会报表达式太复杂,

请问各位大侠如何处理?

谢谢!

 

IIF([VTH]<1000,IIF([VTH]<900,IIF([VTH]<800,IIF([VTH]<700,IIF([VTH]<600,IIF([VTH]<500,IIF([VTH]<400,IIF([VTH]<300,IIF([VTH]<200,IIF([VTH]<100,"100","200"),"300"),"400"),"500"),"600"),"700"),"800"),"900"),"1000"),"Over 1000")

 

Top
宏鹏 发表于:2012-10-05 12:07:32

试试Switch函数

[access查询]在查询中,妙用Switch()函数
http://www.accessoft.com/article-show.asp?id=3311



煮江品茶 发表于:2012-10-05 15:57:13

这和iif函数没什么球关系吧?

 

如果按100为单位向上取整可以写为:

select *,(int(VTH/100)-(VTH/100>int(VTH/100)))*100 as VTH向上取整 from tbname

 

如果按50为单位向上取整可以写为:

select *,(int(VTH/50)-(VTH/50>int(VTH/50)))*50 as VTH向上取整 from tbname



goodorbad 发表于:2012-10-07 14:04:52

你在做查询的思路类似于Excel,Access的功能远远大于Excel。你可以用VBA自定义函数,然后在查询中引用这个函数即可。



总记录:3篇  页次:1/1 9 1 :