Oracle Forms — EXECUTE_QUERY не работает

Я пытаюсь создать кнопку, которая выполняет ту же работу, что и кнопка «Выполнить запрос» на смарт-панели.

Ниже приведены шаги, которые я пробовал, но не работает. Пожалуйста, скажите мне, что я делаю неправильно. Я создаю простую форму, используя Oracle XE Express Edition 11g и Oracle Forms 10g.

Это очень простая форма, которая отображает данные о сотруднике (Форма). Я создал кнопку «Показать», которая при нажатии вызывает execute_query;

Когда я нажал кнопку отображения, он дает:

FRM:40202 : Поле должно быть заполнено.

Кроме того, мигает курсор в поле «Идентификатор сотрудника». Кнопка «Выполнить запрос» в «Умной панели» работает нормально.

Не могли бы вы показать мне, как заставить его работать?


person TAT    schedule 11.06.2016    source источник
comment
Прочтите Как спросить, чтобы помочь людям ответить на ваш вопрос. В частности, попробуйте предоставить код.   -  person noɥʇʎԀʎzɐɹƆ    schedule 12.06.2016
comment
на самом деле нет конкретного кода... Я создал кнопку --> Триггер (Когда_кнопка_нажата) --> Редактор PL/SQL --> execute_query; мы должны добавить еще код? на самом деле я не уверен..   -  person TAT    schedule 12.06.2016


Ответы (2)


Хорошо, ребята... Получил исправление с другого форума.

Go to the property palette of the field where the cursor is (In my case it is Employee ID) --> Under 'Data' --> 'Required' --> set to 'NO'

Вышеупомянутый метод будет работать, но лучший подход

в редакторе PLSQL (кнопка - When_button_pressed) - введите приведенный ниже код

GO_BLOCK(NO_VALIDATE);
EXECUTE_QUERY;

Затем в палитре свойств -> Навигация мышью -> установите значение «НЕТ».

Сохраните и запустите форму... Готово.

person TAT    schedule 12.06.2016
comment
Это неправильно. Теперь вы сделали обязательное поле необязательным. Вероятно, вам следует посмотреть, какой еще триггер вы сделали. Запись больше не имеет статуса NEW. И из-за этого ваш триггер с execute_query проверит запись перед выполнением запроса. - person nightfox79; 13.06.2016
comment
Да... Вы правы. См. измененный подход. - person TAT; 13.06.2016

написать запрос EXECUTE_QUERY(NO_VALIDATE); тогда он не будет показывать ошибку FRM: 40202: Поле должно быть введено.

person Syed Alishahzad    schedule 25.05.2019