Office中国论坛/Access中国论坛

标题: 如何增加字段并对该字段重新自动赋值 [打印本页]

作者: alex00    时间: 2008-4-8 10:25
标题: 如何增加字段并对该字段重新自动赋值
现有下表,
型号均价
A11900
A2 4300
A3 12500
增加一个字段,对均价自动进行判别,成为下表
(价格区间分为=<2500,(2500,3000],(3000,3500],(3500,4000]........每500为一个区间,直至大于或等于100,00时,最后的区间是>=10000
型号均价 价格区间
A1 1900 =<2500
A2 4300 (4000,4500]
A3 12500 >=10000
我编写的代码是
IIf([均价]<=2500,"=<2500",
IIf([均价]>2500 And [均价]<=3000,"(2500,3000]",
IIf([均价]>3000 And [均价]<=3500,"(3000,3500]",
IIf([均价]>3500 And [均价]<=4000,"(3501,4000]",
IIf([均价]>4000 And [均价]<=4500,"(4000,4500]",
IIf([均价]>4500 And [均价]<=5000,"(4500,5000]",
IIf([均价]>5000 And [均价]<=5500,"(5000,5500]",
IIf([均价]>5500 And [均价]<=6000,"(5500,6000]",
IIf([均价]>6000 And [均价]<=6500,"(6000,6500]",
IIf([均价]>6500 And [均价]<=7000,"(6500,7000]",
IIf([均价]>7000 And [均价]<=7500,"(7000,7500]",
IIf([均价]>7500 And [均价]<=8000,"(7500,8000]",
IIf([均价]>8000 And [均价]<=10000,"(8000,10000]",">10000")))))))))))))
AS 价格区间
可是在运行时,总是溢出,什么原因呢?
应如何解决?
作者: tmtony    时间: 2008-4-8 11:23
可能IIF语句太长,最好做一个自定义函数,把上面的代码放在自定义函数中
然后查询调用这个自定义函数
作者: alex00    时间: 2008-4-8 11:58
标题: 回复 1# 的帖子
还有什么方法吗?
作者: gdfsslec    时间: 2008-4-8 13:22
iif的嵌套个数好像有限制的
作者: eyewitnes    时间: 2008-4-8 15:21
iif([均价] mod 500 <=5,"=<2500",iif([均价] mod 500 >20,">=10000","(" & ([均价] mod 500 )*500 & "," & (([均价] mod 500)+1)*500 & "]"

好象是用mod吧,那个求商并舍弃余数的函数,还是div?不太记得了

[ 本帖最后由 eyewitnes 于 2008-4-8 15:22 编辑 ]
作者: alex00    时间: 2008-4-9 11:03
标题: 回复 5# 的帖子
好办法,但是还是不行啊。请见楼下附件。
作者: alex00    时间: 2008-4-9 11:05
请帮帮忙。谢谢各位达人
作者: alex00    时间: 2008-4-9 15:40
标题: 回复 4# 的帖子
switch也有限制吗?
作者: alex00    时间: 2008-4-9 15:43
标题: 回复 6# 的帖子
IIf([均价]<=2500,"=<2500",IIf([均价]>10000,">10000",“(”&Partition(Round([均价]),2501,10000,500)&“)”)) AS 均价区间
也可以勉强应用




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3