Создание отчета

Теперь можно создать отчет. К нему предстоит добавить ссылку
на сборку, параметры и выражение. Выполните следующие действия.
1. Создайте новый отчет с именем Generated Query.
2. Выберите Report Properties («Свойства отчета») из меню Report («Отчет»).
3. В диалоговом окне Report Properties выберите страницу References («Ссылки»).
4. В разделе Add or remove assemblies («Добавить или удалить сборки») нажмите кнопку Add («Добавить»).
5. Нажмите кнопку с многоточием (...) справа от новой строки.
6. В диалоговом окне Add Reference («Добавление ссылки») перейдите на вкладку Browse («Обзор») и найдите файл Report_ClassLib.dll в папке доверенных сборок.
7. Выделите файл Report_ClassLib. dll и нажмите кнопку ОК, чтобы добавить reference.
8. В разделе Add or remove classes («Добавить или удалить классы») страницы References нажмите кнопку Add.
9. В поле под столбцом Class Name («Имя класса») введите Report_ Class_ Lib. Report Lib.
10. В поле под столбцом Instance Name («Имя экземпляра») введите m_ReportLib. Это псевдоним имени класса, который будет использоваться в отчете.
11. Убедитесь, что страница выглядит, как показано на экране, и нажмите ОК, чтобы сохранить изменения.
12. В окне Report Data («Данные отчета») в левой стороне конструктора отчетов щелкните правой кнопкой мыши узел Parameters, чтобы добавить новый параметр.
13. Воспользуйтесь окном Report Parameters («Параметры отчета»), чтобы добавить каждый параметр. Используйте информацию из таблицы, чтобы задать имя, приглашение, тип и значение каждого параметра по умолчанию.
14. Для параметра SalesQuery установите видимость Hidden («Скрытый») на странице General («Общие») в диалоговом окне Report Parameters («Параметры отчета»), а затем перейдите на страницу Default Value («Значение по умолчанию»).
15. Выберите Specific values («Определенные значения»), чтобы добавить значение по умолчанию.
16. Нажмите кнопку Expression («Выражение») (fx) справа от раскрывающегося списка.
17. Введите следующий текст, а затем поместите курсор между скобками:
=Code.m_ReportLib.Sa!esQuery ()
18. Выберите Parameters («Параметры») из списка Category («Категория») и дважды щелкните параметр \earFrom, чтобы добавить reference в выражение. Введите после этого текста запятую с последующим пробелом.
19. Используйте ту же процедуру для ввода дополнительных параметров, необходимых для построения следующего выражения (без возвратов каретки):
=Code.m_ReportLib.Sa!esQuery
(Parameters! YearFrom.Value, Parameters! YearTo.Value, Parameters!
Country.Value, Parameters! MaxRows.Value, Parameters!
IncludeFreight.Value)
20. Нажмите кнопку OK, чтобы сохранить выражение.
21. Добавьте текстовое поле к отчету.
22. Щелкните правой кнопкой мыши текстовое поле и выберите пункт Expression («Выражение»).
23. Используйте Expression Builder («Построитель выражений»), чтобы присвоить выражению текстового поля следующее значение:
Parameters! SalesQuery.Value
24. Просмотрите сформированный запрос. Он будет показан в текстовом поле, как на экране 3.
25. Убедитесь в правильности синтаксиса сформированного запроса. Он должен быть следующим:
•верхнее значение должно быть задано параметром MaxRows;
•столбец Freight должен войти в список столбцов, так как параметру IncludeFreight присвоено значение True;
•значения YearFrom и YearTo в предложении WHERE должны соответствовать значениям параметров YearFrom и YearTo соответственно;
•предложение WHERE не должно содержать столбца SalesTerritory Country, так как параметру Country присвоено значение All.
26. На вкладке предварительного просмотра измените значения параметров и повторно запустите отчет, чтобы увидеть последствия сформированного запроса. Важно отметить, что значения параметров в этом примере не проверены и могут содержать ошибки или встроенный программный код. Решение необходимо дополнить мерами защиты, прежде
чем внедрять его в производство. Но об этом позже.