为了账号安全,请及时绑定邮箱和手机立即绑定

Access中的大小写表达式

Access中的大小写表达式

当年话下 2019-10-21 14:33:11
您可以case在Access中使用表达式吗?我正在尝试确定最大日期表单2列,但在以下代码中不断出现语法错误:CASE   WHEN dbo_tbl_property.LASTSERVICEDATE > Contour_dates.[Last CP12 Date]    THEN dbo_tbl_property.LASTSERVICEDATE   ELSE Contour_dates.[Last CP12 Date] END AS MaxDate
查看完整描述

3 回答

?
猛跑小猪

TA贡献1858条经验 获得超8个赞

您可以改用该IIF()函数。


IIF(condition, valueiftrue, valueiffalse)

condition 是您要测试的值。


valueiftrue 是在条件评估为TRUE时返回的值。


valueiffalse 是在条件评估为FALSE时返回的值。


Switch当您有多个条件要测试时,还有一个易于使用和理解的功能:


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

开关函数参数列表由成对的表达式和值组成。从左到右对表达式进行求值,并返回与第一个要求值为True的表达式相关联的值。如果零件未正确配对,则会发生运行时错误。例如,如果expr-1为True,则Switch返回value-1。如果expr-1为False,但expr-2为True,则Switch返回value-2,依此类推。


在以下情况下,Switch返回Null值:


这些表达式都不是真的。


第一个True表达式的对应值为Null。


注意:Switch计算所有表达式,即使它仅返回其中之一。因此,您应该注意不良副作用。例如,如果对任何表达式求值导致除以零误差,则会发生错误。


查看完整回答
反对 回复 2019-10-21
?
子衿沉夜

TA贡献1828条经验 获得超3个赞

switch如果要评估的条件更多,则该函数是要使用的更好的函数。与使用嵌套IIF函数相比,它更易于阅读/理解/维护。另外,实现默认值而不是创建基本上计算为“所有先前表达式均为假”的逻辑表达式的另一种方法是仅用true作要评估的最终表达式。例如switch(dbo_tbl_property.LASTSERVICEDATE > Contour_dates.[Last CP12 Date], dbo_tbl_property.LASTSERVICEDATE, true ,Contour_dates.[Last CP12 Date])

查看完整回答
反对 回复 2019-10-21
  • 3 回答
  • 0 关注
  • 562 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信