2010-03-17 28 views
0

我需要的是: 什麼觸發器使用以及在哪裏放置它。在Oracle 10g中子表單關閉後刷新父表單的「Call_form」

我會給你一個我正在做的例子。

我有一個合同表格,除了只讀的合同財務範圍外,它是完全可編輯的。我希望用戶按下一個名爲「更改費率」的按鈕,這將會觸發「按鈕按下時」和call_form(UpdateFinancials);.

現在,在此屏幕中,我有用戶更改財務信息,如將合約從50k增加到100k。然後用戶保存並退出。這將關閉子窗體「UpdateFinancials」並顯示父窗體「ContractForm」。問題是,它仍然擁有所有舊信息。當它從Call_Form函數的子窗體返回時,需要刷新窗體中的信息。

回答

0
  1. WHEN-BUTTON-PRESSED扳機,你發出CALL_FORM之前,設置一個變量(例如,一個隱藏的項目或全局變量),以一定的價值,例如'CALLED_THE_FORM'

  2. WHEN-WINDOW-ACTIVATED觸發,測試變量,如果它是='CALLED_THE_FORM',重置變量(例如,爲了NULL),以及任何代碼要運行時,從形式向用戶返回(如執行查詢或其他)運行。

另外,剛剛從WHEN-WINDOW-ACTIVATED觸發執行查詢 - 如果你想刷新發生每當用戶返回到窗體的時間。但個人而言,我寧願只在我相信這是絕對必需時才刷新。

+0

謝謝Jeffrey。我有這樣的事情,但我最終做的只是調用「New_Form」而不是搞亂了激活的窗口。它現在以客戶希望它工作的方式工作。下次,我會用你的建議。 – DotNetDan 2010-03-22 12:35:02