我们在查询中有一个字段,如果它太短,则应该在左侧填充零,我们使用 Format() 函数来完成此操作。然而,有些值会产生奇怪的结果。
Format("14425112-8","00000000-00")
返回值“00019330-78”
对于大多数输入,字符串的格式符合预期:8 位数字、连字符、两位数字。但在极少数情况下,该值会被修改。这对其他人来说可以重复吗?有谁解释一下吗?
感谢您的帮助。
最佳答案
这是一个试图提供过多帮助的 Access 示例。看起来它将这些值解释为日期,但由于您没有使用任何格式的日期指示符,例如:(dd,mm,yyyy),它将 1-1 转换为日期,然后尝试将其显示在小数形式:
debug.print Format("1-1","000000-00")
返回 000427-36
,这是十进制值 42736
,如果转换为日期,则变为 1/1/2017
。这就是 access 将“1-1”解释为的内容。
似乎 access 已保留 -
字符作为日期格式的象征,尽管 their website says 。此函数仅适用于格式化实际日期或数值(例如价格)。如果您决定使用格式函数,则必须将分隔符更改为小数点,这显然是唯一可以通过前导零和尾随零获得您想要的结果的字符。
否则,您可能必须为此构建自己的函数。
关于ms-access - 格式函数返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44160522/