Access无需使用IIf及条件设置将指定日期间的Exp字段日期显示到Exp2字段
Access 区间日期匹配字段生成方案
场景1:在查询中新建计算字段Exp2
直接在查询设计界面的字段行输入以下表达式即可:
Exp2: Choose(Abs(([Exp] >= #12/1/2020#) And ([Exp] <= #7/1/2021#)) + 1, Null, Format([Exp],"mm.dd.yyyy"))
场景2:更新表中已有的Exp2字段
使用更新查询,在Exp2字段的「更新到」栏位输入以下表达式:
Choose(Abs(([Exp] >= #12/1/2020#) And ([Exp] <= #7/1/2021#)) + 1, Null, Format([Exp],"mm.dd.yyyy"))
实现原理
- Access 中布尔判断结果为真时返回-1,为假时返回0,通过
Abs()函数将结果转换为1(符合区间)和0(不符合区间) - 对转换后的数值加1,符合区间的结果变为2,不符合的结果变为1
Choose()函数会根据第一个参数的取值,返回对应位置的后续参数值:参数为1时返回Null,参数为2时返回格式化后的[Exp]字段值,全程未使用IIf函数,也不需要额外添加查询筛选条件。
注意:如果你的系统区域设置不识别
#12/1/2020#格式的日期常量,可以替换为#2020-12-01#等你系统支持的日期格式即可。
内容的提问来源于stack exchange,提问作者Adam Soldier
相关产品推荐
相关产品推荐

