Таблица доступа к MS: исправьте не начальные нули в поле Zip_CD - PullRequest
0 голосов
/ 09 сентября 2018

Я вернулся в Access после длительного отпуска и столкнулся с некоторыми трудностями. У меня есть таблица, которая включает поле почтового индекса. Некоторые из предоставленных почтовых индексов состоят из 5 цифр (52186), а некоторые - из 10 цифр с конечным кодом окрестности (77005-1568). Однако ведущие нули не сохранились, и мне нужно их заново вставить. Например, (04074) появляется в (4070). Однако 9-значные почтовые индексы содержат начальные нули. Мне нужен способ добавить начальные нули к 5-значным почтовым индексам. Я не могу использовать такой трюк, как преобразование в число и последующее форматирование в «00000», потому что это создает хаос с 9-значными почтовыми индексами. Кроме того, так как я отсутствовал в Access так долго, я не уверен, должен ли я сделать это с помощью функции, запроса, некоторого типа VBA RecordSet или чего-то еще. Я не могу вспомнить лучший способ приблизиться. Любой совет будет принята с благодарностью. Спасибо!

-Charlie

1 Ответ

0 голосов
/ 09 сентября 2018

Вы можете использовать это выражение:

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

В запросе это будет (в графическом интерфейсе):

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
...