SQLSERVER中用的是T_SQL
ACCESS中用的是JET_SQL
那么SQLSERVER中的CASE WHEN,在ACCESS中应该用什么?
ACCESS中有CASE WHEN 这个用法没有?

解决方案 »

  1.   

    IIf   函数   
                    
        
      根据表达式的值,来返回两部分中的其中一个。   
        
      语法   
        
      IIf(expr,   truepart,   falsepart)   
        
      IIf   函数的语法含有下面这些命名参数:   
        
      部分   描述     
      expr   必要参数。用来判断真伪的表达式。     
      truepart   必要参数。如果   expr   为   True,则返回这部分的值或表达式。     
      falsepart   必要参数。如果   expr   为   False,则返回这部分的值或表达式。     
        
        
      说明   
        
      由于   IIf   会计算   truepart   和   falsepart,虽然它只返回其中的一个。因此要注意到这个副作用。例如,如果   falsepart   产生一个被零除错误,那么程序就会发生错误,即使   expr   为   True。
      

  2.   

    Access中用iif()。
    --相当于SQL Server的case when。--查看Access联机帮助。
    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
      

  3.   

    Access使用的是Jet-SQL,SQL Server使用的是T-SQL,两者用法上相差很大。
    JET SQL 帮助(jet4 access2000)下载地址http://www.access911.net/index.asp?board=8&recordid=75FAB71E&tt=