Как проверить два списка выбора в oracle Apex - PullRequest
0 голосов
/ 05 апреля 2020

Я использую Oracle apex, и у меня есть 2 компонента списка выбора, которые получают элементы из одной таблицы. я хочу создать конвертер валют, и список валют "divisas"

Моя проблема: я хочу проверить, что когда на одном выбранном компоненте выбрано одно значение, другой компонент не содержит этот элемент из списка выбора 1. И наоборот

Кроме того, если при выборе 1 значение null, при выборе 2 должны отображаться все результаты из таблицы, и наоборот.

Я начинаю с этого запроса, но я не могу сделать это работает

select *
from divisas
where EN_APP = 'S'
  and (
    case when :P12_DIVISA is not null then (cod_divi <> :P12_DIVISA) else EN_APP = 'S' end
  )
;

кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 05 апреля 2020

Существует свойство Каскадный список значений для элементов списка выбора. Однако, поскольку вы хотите обрабатывать оба элемента одновременно, вы введете циклическую ссылку & dead l oop, поэтому она не будет просто работать.

Вот вариант, который делает то, что хотел; посмотрите, поможет ли это:

  • создать два элемента, например P59_CURR_1 и P59_CURR_2 (для двух валют)
  • их тип - Выбрать элемент списка
  • Страница действие при выборе = «Перенаправление и установка значения»
  • SQL запрос выглядит следующим образом (для P59_CURR_1)

    select cod_divi d, cod_divi r
    from divisas
    where cod_divi <> nvl(:P59_CURR_2, 'X')      -- would be `:P59_CURR_1` for another item
    order by cod_divi
    
  • не устанавливать каскадный список значений родительского элемента!

Вот и все; запустите страницу и посмотрите, как она себя ведет. Мне кажется, на Apex все в порядке. oracle .com версия Apex 20.1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...