Как использовать результат XML из SQL в Excel для слияния почты с Microsoft Word - PullRequest
0 голосов
/ 15 марта 2019

Я нахожусь в затруднительном положении из-за характера этого проекта. Я пытаюсь вернуть результат 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 и конкатенации текста после этого.

Моя проблема заключается в том, что я возвращаю эти данные в 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 с настройкой подключения к данным. Когда запрос выполняется, он ничего не возвращает в Excel, если я не приведу результат SQL в виде текста.

Как я могу найти возможность вставлять символы новой строки при каждом повторении «AccountNum:», чтобы слияние почты в Word в Outlook создавало отдельную строку для каждой учетной записи?

Есть ли свободное место, которое я могу добавить в конец строки «Учетные записи», что приведет к началу новой строки?

Спасибо,

...