double arrow

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

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

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

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

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

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

 

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

 

 

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

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

 

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

 

Теперь можно запустить форму на выполнение и проверить: появляются ли в кодовых полях значения при выборе того или другого блока данных.

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

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

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

 

 

Рисунок 120 - Вызов окна свойств поля «KOD»

 


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



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