能否覆盖Microsoft Access中不满50岁计算年龄的四位显示默认设置?
解决方法
可以覆盖默认设置,核心是不要用日期格式yy来处理年龄数值,改用数值格式或调整计算表达式:
修正年龄计算逻辑
直接用[DoD]-[DoB]得到的是天数而非实际周岁年龄,正确计算周岁的表达式应为:DateDiff("yyyy", [DoB], [DoD]) - IIf(DateSerial(Year([DoD]), Month([DoB]), Day([DoB])) > [DoD], 1, 0)这个公式会自动扣除未过生日的情况,得到准确的周岁年龄。
设置两位数字显示格式
将计算字段的格式设置为00(数值格式),而非日期格式yy。这样所有年龄都会显示为两位数字:- 不满10岁显示为
0X(如07) - 10-99岁显示为
XX(如49)
- 不满10岁显示为
如果一定要基于原有日期差方式调整格式,可通过文本函数强制提取最后两位(仅适用于天数转年龄的场景,不推荐,因为天数不等于年龄):
Right(Str([DoD]-[DoB]), 2)
内容的提问来源于stack exchange,提问作者SWorden
相关产品推荐
相关产品推荐

