症状
将 OLEDB 与 Microsoft Access 或 Microsoft Excel 数据源配合使用在 Microsoft Word 中执行邮件合并时,“日期”、“电话号码”和“货币”字段的合并结果不正确。 例如:
“日期”字段按以下格式显示:
1995-10-22 00:00:00
Access 数据源中的“电话号码”字段按以下格式显示:
-7081234567.00
“货币”字段按以下格式显示:
12.00
-或-
12000
原因
出现此行为是因为数据以 Access 或 Excel 中的本机存储格式显示。 若要设置合并数据的格式,必须在main文档中设置合并字段的格式。 如果在数据源中设置数据格式,则将数据合并到 main 文档中时,格式不会保留。
解决方法
若要解决此问题,请使用以下方法之一。
在 Microsoft Word
使用开关设置 MERGEFIELD 结果的格式。 为此,请使用下列方法之一。
注意 若要查看 Microsoft Word中的域代码,请按 Alt+F9。
方法 1:使用数字图片开关
包括数字图片开关 (\#) ,类似于以下示例之一:
在货币字段中,使用类似于以下内容的数字图片开关:
{MERGEFIELD number \# $####,0.0}注意 {MERGEFIELD number \# $####,0.0} 字符串也适用于 Microsoft SQL Server 6。
在电话字段中,使用类似于以下内容的数字图片开关:
{MERGEFIELD phone \# ##'-'##'-'#####注意 合并域内的连字符是单引号。
方法 2:使用Date-Time图片开关
在“日期”字段中包括日期时间图片开关 (\@) ,以便“日期”字段如下所示:
{MERGEFIELD date \@ “MMMM d, yyyy”}注意 图片开关区分大小写。 此外,必须在图片字符串周围使用引号。
在 Microsoft Access 中
在 Microsoft Access 中创建查询,并在Word邮件合并中使用查询。 在 Microsoft Access 查询中,使用 FORMAT () 函数设置要合并在 Microsoft Word 中的数据的格式。
更多信息
默认情况下,Word在执行邮件合并时使用 OLEDB 连接到数据源。 通过使用编程代码访问数据,可以强制Word使用动态数据交换 (DDE) 。
注意有关在 Microsoft Word中使用字段开关的详细信息,请单击 上的“Microsoft Word帮助
”
“帮助”菜单,在“Office 助手”或“答案向导”中键入常规开关,然后单击“搜索”查看返回的主题。