Как следует из их названия, запускает срабатывает, когда что-то запускает их.Например, триггер
- a
WHEN-BUTTON-PRESSED
запускается нажатием кнопки - a
POST-QUERY
срабатывает триггер после выполнения запроса в блоке данных - a
WHEN-NEW-FORM-INSTANCE
триггер срабатывает при запуске формы
и так далее.
Поэтому убедитесь, что триггеры действительно сработали.Тот факт, что они у вас есть, не означает, что они будут работать, только потому, что .
Чтобы выяснить это, у вас есть два варианта:
- запустить форму в режиме отладки:
- в одном из триггеров (например, в
WHEN-NEW-FORM-INSTANCE
) установить точку останова, щелкнув правой кнопкой мыши на ее левом поле (вы увидите, что делать дальше) - затем запустите форму;тот зеленый значок панели инструментов, который вы используете для его запуска, не должен использоваться, но рядом с ним, с чем-то красноватым на нем
- , как только выполнение достигает точки останова, это 'Остановимся, вы перейдете в Forms Builder, откроется консоль отладки и позволит вам шаг за шагом пройтись по остальной части кода
- , и вы будете знать, что происходитто есть, вызваны ли эти триггеры и что они делают
- , так как вы подозрительны: вы случайно установили какие-то обработчики исключений, которые используют
WHEN OTHERS THEN NULL
или что-то подобное?Если так, избавьтесь от них.Даже если возникнет исключение (например, NO_DATA_FOUND
или TOO_MANY_ROWS
, просто чтобы упомянуть два самых популярных и частых), THEN NULL
будет скрывать его
еще один - для ввода MESSAGE
вызовов в триггеры, например
begin
message('running WBP trigger: step 1');
... the rest of your code goes here
end;
. При этом сообщение после сообщения будет вызывать "предупреждение "на экране (так как вам нужно будет нажать кнопку ОК, чтобы вы увидели, что он сказал), и вы быстро увидите, какие триггеры сработали, а какие нет.Затем исследуйте это дальше - отладка, описанная ранее, поможет.
Если ничего из этого не поможет, вам придется описать, что происходит, но на этот раз предоставив дополнительную информацию.То, что вы написали, не очень наглядно.В любом случае, удачи.