首页 > 解决方案 > MS 访问表:纠正 Zip_CD 字段中的非前导零

问题描述

我在延长假期后回到 Access 并遇到了一些困难。我有一个包含邮政编码字段的表格。提供的一些邮政编码是 5 位数字 (52186),有些是 10 位数字类型,带有尾随邻域代码 (77005-1568)。但是前导零没有被保留,我需要重新插入它们。例如(04074)出现在(4070)。然而,9 位邮政编码包含前导零。我需要一种将前导零添加到 5 位邮政编码的方法。我不能使用转换为数字然后格式化为“00000”的技巧,因为这会对 9 位数的拉链造成严重破坏。另外,由于我已经离开 Access 这么久了,我不确定我是否应该使用函数、查询、某种类型的 VBA RecordSet 或什么来执行此操作。我可以' 不记得最好的方法。任何和所有的建议将不胜感激。谢谢!

-查理

标签: ms-accessvba

解决方案


你可以使用这个表达式:

TrueZip = IIf(IsNumeric([Zip]), Format([Zip], "00000"), Right("00" & [Zip], 10))

在查询中,它将(在 GUI 中)是:

TrueZip: IIf(IsNumeric([Zip]),Format([Zip],"00000"),Right("00" & [Zip],10))

作为 SQL,它会像这样:

Select 
    *,
    IIf(IsNumeric([Zip]),Format([Zip],"00000"),Right("00" & [Zip],10)) As TrueZip
From
    YourTable

推荐阅读