ms-access - 格式函数返回错误值

标签 ms-access ms-access-2010

我们在查询中有一个字段,如果它太短,则应该在左侧填充零,我们使用 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/

相关文章:

ms-access - Access 2010 - 我应该使用什么控件名称来重新查询此子表单?

mysql - 需要 MS Access 中两个不同表中的两列 ' different in number of items ' 之间的差异

mysql - 自动 Access DB5到MySQL

sql - 在 MS Access 2007 中使用 SQL 用户定义函数

ms-access - MS Access 图表显示数据集中未找到的日期

将 Excel 数据添加到 Access 的 SQL 更新查询

ms-access - 如何导出 Access 2010 数据宏

java - 使用 MS Access 的 PepareStatement,其中某些值来自不同的表

ms-access - 如何在 Access 2010 中使用 .mdw 文件