Слияние почты: Как я могу отформатировать отдельные поля в поле «база данных» - PullRequest
2 голосов
/ 25 сентября 2019

Для слияния в Microsoft Word из данных в Microsoft Excel я написал поле DATABASE, в котором успешно добавляются все поля, которые мне нужны, и динамически изменяется для каждой записи слияния («много к одному»).

Затем я попытался отформатировать числа в этом операторе DATABASE, но когда я использовал FORMAT(), число изменилось на нужный мне формат, однако заголовок был заменен на Expr1003.

Isесть ли способ отформатировать числа в выражении DATABASE, показанном ниже, но без потери заголовков заголовков?

Код без форматирования:

{DATABASE \d"{FILENAME \p}/../data5.xlsx" \s "SELECT [Accountable Officer], [Cost Centre Group], [Description], [Annual Budget], [Outturn Forecast], [Outturn Forecast Variance] FROM [data$] WHERE [Accountable Officer] = {Quote 39}{MERGEFIELD Accountable_Officer}{Quote 39} ORDER BY [Cost Centre Group] "\l \b "16" \h}

Если я изменю годовой бюджет на FORMAT(), как показано ниже:

{DATABASE \d"{FILENAME \p}/../data5.xlsx" \s "SELECT [Accountable Officer], [Cost Centre Group], [Description], FORMAT([Annual Budget], '£#,##0;-£#,##0'), [Outturn Forecast], [Outturn Forecast Variance] FROM [data$] WHERE [Accountable Officer] = {Quote 39}{MERGEFIELD Accountable_Officer}{Quote 39} ORDER BY [Cost Centre Group] "\l \b "16" \h}

, тогда цифры, показанные в столбце Годовой бюджет, отформатированы правильно, но заголовок заголовка изменится на Expr1003 (или Expr1004, Expr1006 и т. Д.).

1 Ответ

0 голосов
/ 25 сентября 2019

Причина изменения имени поля состоит в том, что функция «скрывает» повторяемое имя.В этом случае поле База данных создает выражение для имени поля.

Одним из способов решения этой проблемы является предварительное форматирование в источнике данных, в случае с Excel, путем преобразования содержимого ячейки в текст вместо числа.

Другой способ - присвоить псевдоним в качестве имени поля, используя AS:

FORMAT([Annual Budget], '£#,##0;-£#,##0') AS Budget. 

I думаю, вы должны иметь возможностьиспользовать AS [Annual Budget], но сначала проверьте это, чтобы убедиться, что основной синтаксис работает.Мой быстрый тест в Access не позволил не использовать то же имя поля, что и псевдоним, но мой тест в Word позволил ...

...