Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
74
Добавлен:
16.04.2013
Размер:
2.99 Mб
Скачать

Форма для занесения информации о библиотеках

Создать новый модуль: выбрать в Навигаторе Объектов пункт дереваForms (Формы), выбрать пункт менюNavigator\Create (Создать) или же щелкнуть мышью по пиктограмме с изображением зелёного плюса.

Выбрав в дереве Навигатора Объектов созданный модуль, вызвать пункт меню Tools \ Datablock Wizard (Инструменты \ Мастер блока данных).

Далее используя Мастер Блока Данных и Мастер Разметки создать аналогичную форму для работы с таблицейLIBRARY. При этом Мастере Разметки выбрать вариант разметкиForm (Форма), а неTable (Таблица), количество выводимых записей оставить равным 1 и не выводить полосу прокрутки (т.е. оставить значения в двух последних окнах Мастера Разметки по умолчанию):

Для поля Phone (Телефон)в Палитре Свойств определить значение маски формата: 999"-"9999. С помощью такой маски формата приложение будет требовать от пользователя вводить номера телефонов в виде 7-ми цифр разделенных одним коротким тире (например: 105-5555):

Форма для занесения информации о людях (читателях и работниках библиотек)

Аналогичным образом создается новый модуль формыPERSON и используя Мастеров создать форму на основе таблицыPERSON:

Для поля Phone определить значение маски формата: 999"-"9999. Для поляDateOfBirst определить значение маски формата: DD.MM.YYYY

Поле Photo позволяет сохранить в базе данных фотографию человека (графическое изображение). Для того, чтобы при работе с формой вставить изображение в это поле можно, в частности, воспользоваться стандартными операциями копирования и вставки (открыть рисунок в каком либо графическом редакторе, скопировать в буфер обмена, в созданной форме переместить курсор в поле элементаPhotoи выбрать пункт менюEdit\Paste либо нажать комбинацию клавишCtrl-V).

Поле LibNumber указывает номер библиотеки, в которой работает человек или же содержитNULL значение, если он не работает ни в одной из библиотек. Поэтому необходимо организовать подстановку номеров библиотек из таблицыLIBRARY в это поле.

Для этого следует воспользоваться специальным мастером списка значений (List Of Values): выберите полеLibNumberв редакторе формы и вызовите пункт менюTools\LOV Wizard (МастерLOV).Оставить значение по умолчаниюNew Record Group based on a query (Новую группу на основе запроса), нажатьNext (Далее).

В поле SQL запроса ввести текст запроса, возвращающего номера всех библиотек (можно также нажать кнопкуBuild SQL Query (Построить запросSQL) и создать запрос с помощью специального графического редактора):

SELECT ALL LIBRARY.LIBNUMBER, LIBRARY.ADDRESS

FROM LIBRARY

Нажать кнопку NEXT (Далее).

Перенести все пункты из поля Record Group Columns (Столбцы группы записей)в полеLOV Columns (СтолбцыLOV), нажатьNext (Далее).

В следующем окне Мастера ввести заголовки полей, которые будут отображаться в списке значений, выбрать столбец Libraryи нажать кнопкуLook up return item (Возвр. элемент для просмотра) для выбора элемента который для подстановки: в появившемся списке выбратьPERSON.LIBNUMBER. НажатьNext (Далее):

В следующем окне Мастера ввести заголовок (например,“Номера библиотек”), нажатьNext (Далее).

В следующем окне Мастера оставить все значения по умолчанию, нажать Next (Далее).

В следующем окне Мастера из списка Return Items (Возвр. Элементы)перенести единственный столбецPERSON.LIBNUMBER вAssigned Items (Элементы назнач.), нажатьFinish (Готово):

Для того, чтобы в момент выполнения формы вызвать на экран список значений нужно установить курсор на поле формы (в данном случае поле LibNumber) и выбрать пункт менюEdit \ Display List (Редактир\Вывести список). Так же можно создать на форме две кнопки –List иClear для вызова списка значений и отчистки поляLibNumberсоотвественно. Для этого создайте две кнопки (инструмент“Button” находится в левой панели инструментов окна редактирования формы)рядом с полемLibNumber, щелкните правой кнопкой мыши на созданной кнопке и выберитеSmartTriggers\WHEN-BUTTON-PRESSED для создания подпрограммы на языкеPL/SQL которая будет выполнена при нажатии на кнопку. Введите следующий код подпрограммы:

DECLARE

RESULT BOOLEAN;

BEGIN

-- показать список значений с именем LOV_LIBNUMBER

RESULT := Show_lov('LOV_LIBNUMBER');

END;

Для кнопки Clear введите следующий код подпрограммы:

BEGIN

-- установить NULL значение для поля LIBNUMBER

:LIBNUMBER := NULL;

END;

Запустите программу (форму) на выполнение и проверьте работоспособность созданных кнопок.