Как сделать рассылку с помощью инструмента отчетности?

Env .: Службы Reporting Services или XTraReport, SqlServer Express 2008 R2, VS2008, WinForms, C #

Всем привет,

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

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

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

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

Пожалуйста помоги,

TIA.

Серж.


person Serge Wautier    schedule 30.08.2010    source источник


Ответы (2)


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

Например, у вас может быть такое выражение:

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

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

person Adrian Grigore    schedule 30.08.2010
comment
Адриан, спасибо за помощь. Прямо сейчас я буду придерживаться отчета xtra, как объяснено в моем ответе. - person Serge Wautier; 01.09.2010

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

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

Также проблема рассылки решается наличием отчета, состоящего только из полосы деталей.

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

person Serge Wautier    schedule 01.09.2010