如何使用SQL的XML结果到Excel以与Microsoft Word进行邮件合并

时间:2019-03-15 16:49:59

标签: sql excel ms-word mailmerge

由于这个项目的性质,我陷入了困境。我正在尝试返回这样的SQL结果:

SELECT ModelQuoteUser,
Accounts = cast(STUFF
(
(
SELECT N', '+ ('AccountNum: ' + PointAccountNum + ', Policy#: ' + PointPol + ', Incept:' + cast(PointIncept as varchar)+ ', Insured: ' + RTRIM(PointInsured) )
FROM #ModelUploadCheck  as b
WHERE b.ModelQuoteUser=a.ModelQuoteUser
FOR XML PATH(N''),TYPE
).value(N'.[1]', N'varchar(1000)'), 1, 2, N''
) as text)
FROM #ModelUploadCheck as a
GROUP BY ModelQuoteUser
Order by ModelQuoteUser

它工作正常,并为我提供了一个分组的ModelQuoteUser ID所需的结果,以及随后连接的文本。

我的问题是我将这些数据返回到Excel,然后在其中将对批量电子邮件进行Microsoft Word邮件合并。我试图弄清楚如何在每次重复输入后插入换行符。

用户将具有以下内容:

USER1   AccountNum: 005, Policy#: WTY5, Incept: 2019-03-14, Insured: Bob's trucking, AccountNum: 004, Policy#: WTY6, Incept: 2019-03-15, Insured: XYZ Limousines

要将其返回到Excel,我有一个带有数据连接设置的VBA宏。运行查询时,除非我将SQL结果转换为文本,否则它不会向Excel返回任何内容。

我怎么能发现在每次重复的“ AccountNum:”处都插入换行符,以便Word到Outlook中的邮件合并将为每个帐户创建单独的一行?

我可以在我的Accounts字符串的末尾添加一些空白,以使其开始新的一行吗?

谢谢

0 个答案:

没有答案