ms-word - 邮件合并:如何格式化“数据库”字段中的单个字段
问题描述
对于 Microsoft Excel 中的数据在 Microsoft Word 中的邮件合并,我编写了一个 DATABASE 字段,该字段成功添加了我想要的所有字段,并为每个邮件合并记录动态更改(“多对一”)。
然后,我尝试在此 DATABASE 语句中格式化数字,但是当我使用FORMAT()
数字时确实更改为我想要的格式,但是标题被替换为Expr1003
.
有没有办法在下面显示的 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
等)。
解决方案
更改字段名称的原因是该函数“隐藏”了字段名称。在这种情况下,数据库字段正在为字段名称创建表达式。
解决此问题的一种方法是在数据源中预先格式化,在 Excel 的情况下,通过将单元格内容转换为文本而不是数字。
另一种方法是使用以下命令指定别名作为字段名称AS
:
FORMAT([Annual Budget], '£#,##0;-£#,##0') AS Budget.
我认为您应该能够使用AS [Annual Budget]
,但首先要对其进行测试,以确保基本语法有效。我在 Access 中的快速测试不允许使用与别名相同的字段名称,但我在 Word 中的测试确实允许...
推荐阅读
- django - Django REST Serializer 使用错误的模型进行序列化
- python - python文件写入程序运行时如何更新桌面上的文件大小
- javascript - 使用 d3.js 更新表数据
- c# - C#捕获从不在进程中的函数返回的异常?
- r - 如何设置仅在输入 3 时才显示集合向量的函数?
- javascript - 如果 URI 没有改变,例如在单页应用程序上,如何检测用户是否在新页面上?
- angular - Angular Kendo UI 全局访问
- php - 内连接循环通过
- git - 如何 git rebase 从另一个分支直接到 master 分支?
- javascript - 受控数字比例映射