Access中类似Case when的应用

Access中不支持Case when语法,可用iif

如:select id,num,dt,username,  iif(dxaction , '还' , '取' ) AS dxaction  from dxaction;注:dxaction字段本身为bool类型

select   iif(sex= '1 ', '男 ', '女 ')   from   tt

帮助说明:

用   SWITCH   函数也可以 ,如 

select   switch(fieldname= 'a ', '您选择了选项1 ',fieldname= 'b ', '您选择了选项b ',fieldname= 'c '...)   as   newfield   from   table

 IIf   函数
            

 根据表达式的值,来返回两部分中的其中一个。

 语法

 IIf(expr,   truepart,   falsepart)

 IIf   函数的语法含有下面这些命名参数:

 部分   描述  
 expr   必要参数。用来判断真伪的表达式。  
 truepart   必要参数。如果   expr   为   True,则返回这部分的值或表达式。  
 falsepart   必要参数。如果   expr   为   False,则返回这部分的值或表达式。  


 说明

 由于   IIf   会计算   truepart   和   falsepart,虽然它只返回其中的一个。因此要注意到这个副作用。例如,如果   falsepart   产生一个被零除错误,那么程序就会发生错误,即使   expr   为   True。
 IIf   函数示例
 本示例使用   IIf   函数来判断   CheckIt   过程之   TestMe   参数的值,如果参数值大于   1000   则传回“Large”;否则传回“小图标”。

 Function   CheckIt   (TestMe   As   Integer)
         CheckIt   =   IIf(TestMe   >   1000,   "Large ",   "Small ")
 End   Function


 Switch   函数
            

 计算一组表达式列表的值,然后返回与表达式列表中最先为   True   的表达式所相关的   Variant   数值或表达式。

 语法

 Switch(expr-1,   value-1[,   expr-2,   value-2   _   [,   expr-n,value-n]])

 Switch   函数的语法具有以下几个部分:

 部分   描述  
 expr   必要参数。要加以计算的   Variant   表达式。  
 value   必要参数。如果相关的表达式为   True,则返回此部分的数值或表达式。  


 说明

 Switch   函数的参数列表由多对表达式和数值组成。表达式是由左至右加以计算的,而数值则会在第一个相关的表达式为   True   时返回。如果其中有部分不成对,则会产生一个运行时错误。如果   expr-1   为   True   则   Switch   返回   value-1,如果   expr-1   为   False,但   expr-2   为   True,则   Switch   返回   value-2,以此类推。

 Switch   会返回一个   Null值,如果:  

 没有一个表达式为   True。


 第一个为   True   的表达式,其相对应的值为   Null。  
 虽然它只返回其中的一个值,但是   Switch   会计算所有的表达式。因此应该注意到所产生的副作用。例如,只要其中一个表达式导致被零除错误,就会发生错误。


 Switch   函数示例
 本示例使用   Switch   函数返回和城市名称匹配的语言名称。

 Function   MatchUp   (CityName   As   String)
         Matchup   =   Switch(CityName   =   "London ",   "English ",   CityName   _
                                         =   "Rome ",   "Italian ",   CityName   =   "Paris ",   "French ")
 End   Function

原文地址:https://www.cnblogs.com/enjoyprogram/p/2563812.html