Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
is_lr_APEX.docx
Скачиваний:
84
Добавлен:
15.05.2015
Размер:
1.86 Mб
Скачать

2. Связывание разных таблиц в одном отчете

Изменим запрос для отчета Подразделения так, чтобы он включал данные из таблицы EMPLOYEES:

  1. Откройте определение страницы Подразделения в списке страниц на вкладке, соответствующей идентификатору Вашего приложения.

  2. В разделе Page Rendering обратите внимание на секцию Items. В ней перечислены элементы управления, содержащиеся на странице.

  3. В этом же разделе найдите секцию Regions и щелкните по ссылке Подразделения. Откроется окно Identification. Найдите секцию Source и изучите запрос в поле Region Source.

  4. Замените текст запроса в текстовом поле Region Source на следующий:

SELECT d.department_id "Department ID",

d.department_name "Department Name",

count('x') "Number of Employees",

substr(e.last_name,1,1)||'. '|| e.first_name "Manager Name",

c.country_name "Location"

FROM departments d,

employees e,

locations l,

countries c,

employees e2

WHERE d.manager_id = e.employee_id

AND d.location_id = l.location_id

AND d.department_id = e2.department_id

AND l.country_id = c.country_id

AND instr(upper(d.department_name),upper(nvl(:P2_REPORT_SEARCH,d.department_name))) > 0

GROUP BY d.department_id, d.department_name,

substr(e.last_name,1,1)||'. '||e.first_name, c.country_name

  1. Изучите текст нового запроса. Обратите внимание на использование групповой функции count() и предложение GROUP BY.

  2. Щелкните по кнопке Apply Changes.

  3. Запустите страницу. Отобразится видоизмененный отчет о подразделениях:

Обратите внимание на 3 новых столбца: Number Of Employees, Manager Name (вместо идентификатора теперь отображается первая буква имени и фамилия) и Location.

  1. Создание отчета и формы для таблицы EMPLOYEES

Для создания отчета о работниках и формы для редактирования:

  1. Перейдите на домашнюю страницу приложения в Application Builder.

  2. Щелкните по кнопке Create Page >.

  3. На шаге Create Page:

    1. Выберите Form и щелкните Next >.

    2. Выберите Form on a Table with Report и щелкните Next >. Эта опция создает две страницы: отчет и форму, основанные на одной таблице или представлении.

  4. На шаге Report Page:

    1. Implementation – выберите Classic.

    2. Breadcrumb – выберите Breadcrumb. Появится секция Create Breadcrumb Entry.

    3. В Select Parent Entry выберите ссылку на страницу Главная.

    4. В полях Entry Name, Page Name и Region Title измените значение на Работники, щелкните Next >.

  5. На шаге Data Source:

    1. В поле Table/View Owner оставьте значение по умолчанию.

    2. В поле Table/View Name выберите EMPLOYEES и щелкните Next >.

    3. На шаге Tabs в Tab Options оставьте опцию Do not use tabs и щелкните Next >.

  6. На шаге Report Columns:

    1. В списке Select Column(s), нажав и удерживая клавишу Ctrl выберите следующие столбцы:

  • EMPLOYEE_ID

  • FIRST_NAME

  • LAST_NAME

  • HIRE_DATE

  • SALARY

  • COMMISSION_PCT

Выбранные столбцы появятся на странице отчета. Щелкните Next >.

    1. В Edit Link Image оставьте иконку, выбранную по умолчанию, и щелкните Next >.

  1. На шаге Form Page:

    1. В полях Page Name, Region Title введите Создать/Редактировать Работника. Щелкните Next >.

    2. В поле Primary Key Type выберите Select Primary Key Column(s), а затем в поле Primary Key Column 1 выберите EMPLOYEE_ID и щелкните Next >.

    3. В Define the source for the primary key columns выберите Existing Sequence, а в появившемся внизу поле Sequence выберите EMPLOYEES_SEQ (EMPLOYEES_SEQ – это объект БД «сиквенс» (последовательность), предназначенный для генерации уникальных числовых значений, которые используются в качестве значений суррогатных идентификаторов). Щелкните Next >.

    4. В списке Select Column(s) выберите все столбцы и щелкните Next >. Эти столбцы появятся в форме Создать/Редактировать Работника.

    5. В блоке Identify Process Options оставьте все как есть (значения Yes для операций Insert, Update и Delete) и щелкните Next >. Это позволит пользователям добавлять, изменять и удалять записи о работниках.

  2. На шаге Confirm проверьте выбранные атрибуты страниц формы и отчета и щелкните по кнопке Create.

  3. Запустите созданную страницу. Отобразится отчет Работники:

Обратите внимание на следующие моменты:

  • Выбранная иконка редактирования появляется в каждой записи. Иконка представляет собой ссылку, щелчок по которой приводит к переходу на страницу формы Создать/Редактировать Работника, в которой можно изменить запись о работнике.

  • В правом верхнем углу мастером была создана кнопка Create (не видна на рисунке), щелчок по которой также приводит к переходу на страницу формы Создать/Редактировать Работника, на которой можно создать запись о новом работнике в таблице EMPLOYEES.

  • Отчет Работники включает в себя выбранные столбцы. Oracle APEX на основе этого выбора создал соответствующий SQL-запрос, который возвращает эти данные.

  1. Для того чтобы просмотреть форму для редактирования, которая была создана вместе с отчетом, щелкните по иконке редактирования в какой-либо записи отчета Работники. Появится форма Создать/Редактировать Работника:

Обратите внимание на следующие моменты:

  • Форма содержит кнопки Cancel, Delete и Apply Changes (на рисунке не показаны).

  • Обязательные столбцы (на которые в БД наложено ограничение целостности Not Null) выделены цветом (это видно, когда структура таблиц БД создается в APEX).

  • Рядом с полем Hire Date отображается иконка календаря , т.к. тип данных соответствующего столбца –DATE. Щелчок по этой иконке приводит к появлению окна с календарем.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]