写到文章最前面的我想应该是干货或者解决办法,
accessoft网上提供一种方法,但是这种方法解决问题不够彻底!方法是什么?为什么不够彻底?
方法是直接用cint函数转换,但是转换出来之后true变成了-1,
而false没有问题,是0,这就尴尬了,那我一定要是0代表false,1代表true怎么办?
只能用iif.
最近遇到一个问题,我数据库里面的数据类型是TRUE/FALSE,
但是我输出的东西需要是0或者1,这样的话,就比较烦人了,
本来可以直接导出的数据,我需要进行一下转换,
这个时候我想到了SQL SERVER里面有CASE WHEN语句,
这个语句可以根据选择的数据类型来判断最终的输出结果,
但是ACCESS 里面有没有这个写法?
答案是有的,但是格式和SQL SERVER要难理解一些,
这个正常的,毕竟ACCESS是SQL SERVER的小弟,不能要求太多.
所以应该是怎么做呢?
语句如下:

Select 表1.编号, 表1.类型, 表1.面积, 表1.宽, IIf((([类型]="大型" And [宽]<=76) or ([类型]="小型" And [宽]<200) or ([类型]="小型" And [面积]<60000)),"差","好") AS 表达式1
FROM 表1;

哇,这个好难,我们学东西的话是需要从最简单的案例,来慢慢往上面叠加复杂的条件,
那最简单的案例是什么?
表达式:IIf([库存数量] < [库存下限], ‘短缺’, ‘超出’)
结果:如果[库存数量]<[库存下限],则返回‘短缺’,否则’超出’。
我想这个应该是比较简单的案例了吧?但是仔细看了一下还是比较复杂!
那更简单的案例是什么?
表达式:=IIf([购买日期]<#1/1/2008#,”旧”,”新”)
结果:如果 [购买日期] 早于 1/1/2008,则返回“旧”。否则,返回“新”。

所有案例

网站上IIf函数不少,帮助上也有,可示例太少,大家有时还看不明白。以下是最直白的示例,希望对你有用!
表达式:=IIf([机场代码]="ORD","芝加哥",IIf([机场代码]="ATL","亚特兰大",IIf([机场代码]="SEA","西雅图","其他")))
结果:如果 [机场代码] 为“ORD”,则返回“芝加哥”。否则,如果 [机场代码] 为“ATL”,则返回“亚特兰大”。否则,如果 [机场代码] 为“SEA”,则返回“西雅图”。否则,返回“其他”。
表达式:=IIf([发货日期]
结果:如果 [发货日期] 早于今天的日期,则返回“已发货”。否则,如果 [发货日期] 等于今天的日期,则返回“今天发货”。否则,返回“未发货”。
表达式:=IIf([购买日期]<#1/1/2008#,"旧","新")
结果:如果 [购买日期] 早于 1/1/2008,则返回“旧”。否则,返回“新”。
表达式:=IIf(Eval([电压] Between 12 And 15 And [安培] Between 0.25 And 0.3),"正常","未校准")
结果:如果 [电压] 介于 12 和 15 之间,而 [安培] 介于 0.25 和 0.3 之间,则返回“正常”。否则,返回“未校准”。
表达式:=IIf(Eval([国家/地区] In ("加拿大","美国","墨西哥")),"北美地区","其他")
结果:如果 [国家/地区] 为“加拿大”、“美国”或“墨西哥”,则返回“北美地区”。否则,返回“其他”。
表达式:=IIf([平均值]>=90,"A",IIf([平均值]>=80,"B",IIf([平均值]>=70,"C",IIf([平均值]>=60,"D","F"))))
结果:如果 [平均值] 大于或等于 90,则返回“A”。否则,如果 [平均值] 大于或等于 80,则返回“B”。否则,如果 [平均值] 大于或等于 70,则返回“C”。否则,如果 [平均值] 大于或等于 60,则返回“D”。否则,返回“F”。
表达式:IIf([库存数量] < [库存下限], '短缺', '超出')
结果:如果[库存数量]<[库存下限],则返回‘短缺’,否则'超出'。
表达式:IIf(库存数量 < 库存下限, 库存数量 - 库存下限, 库存数量 - 库存上限)
结果:如果[库存数量]<[库存下限],则返回‘库存数量-库存下限’,否则‘库存数量-库存上限’。
 注释   如果您使用 IIf 函数在查询中创建计算字段,请将等号 (=) 替换为字段别名 (别名 (SQL):表达式中表或字段的可选名称。通常用来缩短表或字段名以便以后在代码中引用,这样可防止可能出现的模糊引用或者在查询输出中提供更具描述性的名称。)和一个冒号 (:)。
例如,状态: IIf([发货日期]<Date(),"已发货",IIf([发货日期]=Date(),"今天发货","未发货"))
提示:如果取不同表的字段时,写法‘[表名称].[字段名]’,切不可直接写字段比较。

知识的来源是搜集,整理,理解,运用的过程!