0

Env .: Reporting Services или XTraReport, SqlServer Экспресс 2008 R2, VS2008, WinForms, C#Как сделать рассылку с помощью средства отчетности?

Привет,

Моей WinForms приложение должны отправить заказное письмо на кучу людей (чья контактные данные в SqlServer). Это типичная работа для Word Mail/Merge.

Но я бы хотел сделать это без Word, установленного на клиентских компьютерах. Я предпочел бы использовать MS Reporting Services (или DevExpress XtraReport).

Проблема в том, что эти инструменты позволяют мне помещать текстовые поля для имени и адреса (это нормально), но они не являются настоящими текстовыми процессорами. Мне нужно встроить пользовательские поля в поток текста. Это легко сделать в Word, но я не могу найти способ сделать это в Reporting Services.

Примечание: Я новичок, насколько это касается отчетности.

Просьба помочь,

TIA.

Serge.

ответ

0

В службах MS Reporting Services вы можете установить значение текстового поля в выражении VB, а не в фиксированной строке. Используйте это выражение для вставки полей базы данных в текст.

Например, вы могли бы иметь выражение, как этот:

="Dear "+Fields!FirstName.Value+"," 

Для более сложного подхода, можно использовать заполнители в тексте и заменить их с некоторыми регулярными выражениями. В этом случае вы, вероятно, захотите вставить код в отчет или сборку и просто вызвать его как функцию из своего текстового поля.

+0

Адриан, спасибо за помощь. Прямо сейчас, я буду придерживаться отчета xtra, хотя, как объяснено в моем ответе. –

0

я обнаружил, что DevExpress XtraReport может делать то, что я хочу: Можно вставлять поля в текст RichEdit управления:

Hello [firstName], your subscription elapsed on [lastDay!dd/MM/yyyy] 

Кроме того, проблема рассылки решается при наличии отчета, который состоит только в деталях группа.

Я предпочел бы решение MS Reporting Services, но это хорошо подходит для моих нужд.