Я читал эту тему и хотел бы добавить информацию, хотя она, безусловно, уже не является своевременной для OP.
BiggerDon выше указывает на трудности, связанные с заменой «Север» на «N». Аналогичная проблема существует с «Авеню» на «Авеню» (например, «Авеню Северной и Южной Америки» становится «Авеню Америк»: все еще понятна, но, вероятно, не то, что хочет OP.
Функция replace() полностью контекст-бесплатный, но адресов нет. Полное решение должно иметь дополнительную логику для правильной интерпретации контекста, а затем применять replace() по мере необходимости.
Базы данных обычно содержат адреса, и поэтому я хотел бы указать, что обобщенная версия проблемы OP применительно к адресам в Соединенных Штатах была адресована (юмором!) системой поддержки точности кодирования (CASS). CASS - это инструмент базы данных, который принимает адрес США и завершает или исправляет его в соответствии со стандартом установленный Почтовой службой США. Запись в Википедии https://en.wikipedia.org/wiki/Postal_address_verification имеет основы, а дополнительную информацию можно получить в почтовом отделении: https://ribbs.usps.gov/index.cfm?page=address_info_systems
Какой код вы уже написали? –
Как я уже говорил, я мог бы написать это, используя: 'DECLARE @Mymessage varchar (100) SET @Mymessage = 'Я не знаю, как это сделать в VBA. ' SELECT REPLACE (@Mymessage,' know ',' understand ') ' Опять же, я не уверен, как записать это в VBA в модуле. Спасибо за ваше время. – Asynchronous
См. Также http://stackoverflow.com/questions/8571192/access-vba-to-trim-space-around-a-specific-character-or-wordss-in-a-column/8571442#8571442 – Fionnuala