Как автоматически увеличить число на кнопке SET_ITEM_PROPERTY - PullRequest
1 голос
/ 25 апреля 2019

У меня есть кнопка с названием «ЗАГРУЗИТЬ» в Oracle Forms.При нажатии кнопки «ЗАГРУЗИТЬ» запускаются 2 процесса.

Процесс 1:

- загрузка данных из файла Excel в формы Oracle

- Сохранить данные из Oracle Forms в таблицу базы данных

- Показать дубликаты записей в блоке данных

- Кнопка Lable будет изменена с UPLOAD [1]

Если снованажмите кнопку «ЗАГРУЗИТЬ», после чего процесс 2 запустится

процесс 2:

- загрузить данные из файла Excel в формы Oracle

-Сохранение данных из Oracle Forms в базу данных. Таблица

- Метка кнопки будет изменена с помощью UPLOAD [2]

Теперь я хочу Когда снова нажмите кнопку «UPLOAD», затем произойдет автоматическое увеличение числа.Например, UPLOAD [3] и т. Д.

Код кнопки «UPLOAD»:

IF ( :WE_GROUP.FILE IS NOT NULL ) AND :WE_GROUP.DISPLAY IS NOT NULL THEN
 EXCEL_UPLOAD;
 commit;
 Set_Item_Property('Upload',label,'Upload'||' ['||2||']');
 :WE_GROUP.FILE := NULL;

ELSIF ( :WE_GROUP.FILE IS NOT NULL ) AND :WE_GROUP.DISPLAY IS NULL THEN
 EXCEL_UPLOAD;
 commit;
 Set_Item_Property('Upload',label,'Upload'||' ['||1||']');
 :WE_GROUP.DISPLAY := 1;
 :WE_GROUP.FILE := NULL;

go_block('we_group_hof_k');
CLEAR_BLOCK(NO_VALIDATE);

go_block('we_group_hof_k');
 first_record;
  for c in
      (
       SELECT cnicno, hofid
         FROM hof 
        WHERE cnicno IN (SELECT cnic_no FROM we_group_hof_k)
      )     
  loop
:we_group_hof_k.CNIC_NO := c.cnicno;
:we_group_hof_k.GROUP_HOF_ID := c.hofid;
 next_record;
  end loop;

ELSE
    Message('No File selected.');
    message(' ');
    RAISE Form_Trigger_Failure;

END IF;

1 Ответ

3 голосов
/ 25 апреля 2019

Просто объявите локальную целочисленную переменную как

declare
   v_label  pls_integer
begin

и присвойте значение, увеличенное, начиная с целочисленного значения, отображаемого на кнопке загрузки

v_label := regexp_replace(Get_Item_Property('Upload',label),'(\D)')+1 

, а затем замените

Set_Item_Property('Upload',label,'Upload'||' ['||2||']');

с

Set_Item_Property('Upload',label,'Upload ['||v_label||']');
...