Создание автоматической нумерации кодовых полей в блоках данных

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

Для того чтобы при создании новой записи в каждом блоке данных поле первичного ключа (в нашем случае поле «KOD») принимало автоматически следующее по порядку значение необходимо в каждом блоке объявить триггер «PRE-INSERT», который вызывается перед вставкой каждой строки в таблицу. Сделать это можно следующим образом:

1. В окне Object Navigator выбрать блок данных «DOVER» и в нем выбрать узел Triggers;

2. Затем вызвать контекстное меню и выбрать пункт Smart Triggers->Others->PRE-INSERT (рис. 94).

3. В появившемся окне ввести следующий код триггера:

4.

SELECT kod_d_dover.nextval INTO:DOVER.kod FROM dual;

 

В результате перед вставкой каждой строки из последовательности «kod_d_dover» будет присваиваться следующее значение полю «kod» в блоке «DOVER».

 

 

Рисунок 94 - Создание триггера PRE-INSERT

Аналогичный триггер нужно создать и в блоке «DOVER_SP» со следующим кодом:

 

SELECT kod_d_dover_sp.nextval INTO:DOVER_SP.kod FROM dual;

 

Теперь можно запустить форму на выполнение и проверить: появляются ли в кодовых полях значения при выборе того или другого блока данных. Start OC4J Instance должен быть запущен. Если он не запущен, запуститьте его Программы > Oracle Developer Suite > Forms Developer > Start OC4J Instance.

Скрытие кодовых полей

Чтобы у пользователя не было доступа к кодовым полям в блоках данных, эти поля необходимо скрыть. Вызовем Property Palette для элемента «KOD» блока данных «DOVER» (см. рис. 95)и установим свойство «Canvas» этого элемента в «Null» значение, после этого поле «KOD» должно исчезнуть в окнес закладки «Шапка документа».

Таким же образом установим свойство «Canvas» для элементов «KOD» и «KOD_D_DOVER» блока «D_DOVER_SP».

 

 

Рисунок 95 - Скрытие кодовых полей


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: