=IF( DATEDIF(A2, B2, "D")> 365,
SPLIT(QUOTIENT(DATEDIF(A2, B2, "D"), 365)&" "&
QUOTIENT(MOD(DATEDIF(A2, B2, "D"), 365), 30)&" "&
MOD(QUOTIENT(MOD(DATEDIF(A2, B2, "D"), 365), 30), 30), " "),
IF( DATEDIF(A2, B2, "D")> 30,
{"", SPLIT(QUOTIENT(DATEDIF(A2, B2, "D"), 30)&" "&
MOD(DATEDIF(A2, B2, "D"), 30), " ")},
{"", "", DATEDIF(A2, B2, "D")}))
У меня есть пример, который делает это, размещен в моем блоге здесь: http: //blogs.msdn. com / brianhartman / archive / 2009/02/27 / manual-printing-a-report.aspx
Объект LocalReport можно создать независимо от элемента управления ReportViewer и использовать непосредственно в примере кода, прикрепленном к этому сообщению в блоге. Или вы можете передать ReportViewer.LocalReport, даже если вы сначала не отображаете отчет в пользовательском интерфейсе.
Проверьте это и посмотрите, поможет ли это ... http://scruffylookingcatherder.com/archive/ 2007/12/07 / printing-reports-services-2005-reports.aspx
Небольшое объяснение: он использует веб-сервис SSRS для вывода отчета на изображение EMF и отправки изображения на принтер.