ACCESS IIF 中的计算字段

问题描述

在访问中,我有一个名为 ID 号的列和一个名为 Short ID 的列。问题是 ID 号随着时间的推移发生了变化——它曾经包含字母、数字和破折号,现在它只包含数字。

对于新 ID,公式:Right([ID number],6) 给了我我需要的东西(最后 6 个字符)

但是对于旧 ID id 只喜欢最后 4 个字符 Right([ID number],4)

是否有我可以编写的公式,以便在 ID 号包含破折号“-”时,它给出最后 4 个字符,而在任何时候它不给出最后 6 个字符?

解决方法

这个花哨的表达会做到这一点:

TextNumber = StrReverse(Mid(Val("1" & StrReverse([ID number])),2))

"1" 是保留前导零。

,

我让这个为我工作! 感谢您的帮助。

IIf(ID number] Like "*-*",Right([ID number],4),6))