Подстановочный знак Word MERGEFIELD не соответствует - PullRequest
1 голос
/ 06 мая 2010

Ниже мой MERGEFIELD код:

<b>{ IF { MERGEFIELD Subs_State } = "GA" "blah blah" "{ IF { MERGEFIELD CEOrgStates } = "*GA*" "blah blah" ""} "}</b>

Я извлекаю записи из базы данных MS Access. Моя цель - проверить, имеет ли запись поле Subs_State, совпадающее с «GA», или CEOrgStates имеет слово «GA» (в некоторых записях есть такие вещи, как «| FL | CA | GA | CT | KY |» (без кавычек)).

Когда я объединил документы, Word, кажется, не может сопоставляться с подстановочными знаками: если я использую и сравниваю "* GA" (поля, заканчивающиеся на GA), это работает; однако двойные символы подстановки "* GA *", похоже, не работают вообще.

Вот что я пробовал:

  • Иметь данные в нижнем регистре, а затем сравнивать со строчными
  • Содержать данные в нижнем регистре, преобразовывать в и затем сравнивать с заглавными буквами
  • Сделайте противоположное 2 выше с данными в верхнем регистре
  • Используйте «* GA *» и «* ga *» (без трубы)
  • Использовать разные разделители

Ничто, похоже, не работает с двойным подстановочным знаком. Что я делаю не так?

1 Ответ

2 голосов
/ 07 мая 2010

Мое первоначальное предположение здесь заключается в том, что вы вложили вторую фразу IF в кавычки, подобные "{ IF { MERGEFIELD CEOrgStates } = "GA" "blah blah" ""} " - в этом нет необходимости. Просто сделайте это { IF { MERGEFIELD CEOrgStates } = "GA*" "blah blah" ""}, с подстановочным знаком * после GA. Совпадения чувствительны к регистру, поэтому ga* не сработает.

Во-вторых, вы, возможно, уже знаете это, но для удобства других читателей этого поста, чтобы вставить поле (двойные скобки {что-то} ), вам нужно использовать комбинацию клавиш - вы нельзя просто вводить скобки вручную.

Сочетания клавиш для полей:

  • F9 - обновляет все поля
  • Alt + F9 - переключает поля между редактированием и предварительным просмотром
  • Ctrl + F9 - вставляет поле {что-то} в месте расположения курсора; что-то - это имя поля, которое вы заполняете. Полученные скобки будут выделены жирным шрифтом. Поэтому, если в вашем коде есть скобки, и они не выделены жирным шрифтом, это означает, что они были введены вручную.
...