APEX - переключить пункт - изменить отчет - PullRequest
0 голосов
/ 26 сентября 2018

У меня есть набор элементов переключателя (да, нет), которые должны приводить к измененному отчету при нажатии.

Упрощенная настройка: Button1, Динамический отчет

PL / SQL-запрос из динамического отчета

declare
q_query varchar2(500);
q_select varchar2(500);
q_where varchar2(500);

begin
q_select := 'select Kat1, Kat2, Kat3 from TBL ';

IF :Button1 = '1' THEN
q_where := 'where Kat3=KatXYZ';
END IF;

q_query := q_select||q_where;

return q_query;
end;

FYI

  • Kat3 содержит строки
  • KatXYZ - строка для поиска
  • Запрос(выберите ... из ..., когда Kat3 = 'KatXYZ';) работает при переходе на SQL вместо PL / SQL
  • Динамическое событие, созданное для Button1 для обновления отчета об изменениях
  • q_where: = 'где Kat3 = "KatXYZ"';не работает
  • Кнопка1 Пользовательские настройки Вкл. значение: 1 - Выкл. Значение: 0

Проблема: при нажатии переключателя «Да» ничего не происходит.Есть идеи?

1 Ответ

0 голосов
/ 26 сентября 2018

This:

q_where := 'where Kat3=KatXYZ';

говорит о том, что столбец Kat3 должен быть равен столбцу / параметру / функции с именем KatXYZ, а не string 'KatXYZ'.

Попробуйте с

q_where := 'where Kat3 = ''KatXYZ''';

или

q_where := 'where Kat3 = ' || chr(39) || 'KatXYZ' || chr(39);

или

q_where := q['where Kat3 = 'KatXYZ']'

Любой из них должен быть в порядке.

...