access中没有case函数
access的帮助:
Choose 函数
从参数列表中选择并返回一个值。
语法
Choose(index, choice-1[, choice-2, ... [, choice-n]])
Choose 函数的语法具有以下几个部分:
部分 描述
index 必要参数,数值表达式或字段,它的运算结果是一个数值,且界于 1 和可选择的项目数之间。
choice 必要参数,Variant 表达式,包含可选择项目的其中之一。
说明
Choose 会根据 index 的值来返回选择项列表中的某个值。如果 index 是 1,则 Choose 会返回列表中的第 1 个选择项。如果 index 是 2,则会返回列表中的第 2 个选择项,以此类推。
可以使用 Choose 来查阅一个列表中的项目。例如,如果 index 所指定的值为 3,而 choice-1 = "one"、choice-2 = "two"、且 choice-3 = "three",那么 Choose 将返回 "three"。当 index 代表一选项组中的值时,则这项功能将会特别有用。
即使它只返回一个选项值,Choose 仍然会计算列表中的每个选择项。所以应该注意到这项副作用。例如,当在每个选择项表达式中使用了 MsgBox 函数作为其中的一部分时,每计算一个选择项,就会显示一次消息框。
当 index小于 1 或大于列出的选择项数目时,Choose 函数返回 Null。
如果 index 不是整数,则会先四舍五入为与其最接近的整数。
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 会计算所有的表达式。因此应该注意到所产生的副作用。例如,只要其中一个表达式导致被零除错误,就会发生错误。
eg:Switch([as03]![kind]='4100',1,[as03]![kind]='6141',2,[as03]![kind]<>'4100' And [as03]![kind]<>'6141',3)
//,switch(db_FuncRights.ClassNameFlag ='normal',db_fClass.Classname,db_FuncRights.ClassNameFlag ='news',db_newClass.ClassName,db_FuncRights.ClassNameFlag ='spec',db_SpecAreaClass.className)
// as className FROM db_FuncRights,db_fClass,db_newClass,db_SpecAreaClass where db_FuncRights.UserID =2
//and db_FuncRights.ClassID = switch(db_FuncRights.ClassNameFlag ='normal',db_fClass.ClassID,db_FuncRights.ClassNameFlag ='news',db_newClass.ClassID,db_FuncRights.ClassNameFlag ='spec',db_SpecAreaClass.ClassID)