2013-06-30 15 views
1

我有2個數據塊'Employee'作爲master和'Employee_Details'作爲細節和1個控制塊進行導航。我使用了我的菜單,並且通常沒有出現默認的開發人員工具欄。所以我放置一個Enter-Query按鈕來達到目的。我用時按鈕觸發。Oracle Forms Developer 6i:EXECUTE_QUERY在ENTER_QUERY模式後無法工作

GO_BLOCK('EMPLOYEE'); 
IF :System.Mode = 'NORMAL' THEN 
    Enter_Query; 
ELSE 
    EXECUTE_QUERY; 
END IF; 

在第一次觸發時,表單進入進入查詢模式。但是當我按下Execute_Query時,它不起作用。而是在狀態欄中顯示按F8鍵進行查詢,按Ctrl + q鍵取消。我試圖將代碼放在不同的按鈕中,但不工作。我不想按F8進行執行查詢。爲什麼我的按鈕代碼不適用於執行查詢?你有任何解決方案?

+0

請說明一下:你有沒有刻意壓制默認的工具欄?如果不是,你不應該試圖解決這個問題嗎? – APC

+0

是的,我壓制了默認的工具欄。 @APC –

+0

事實上,我從另一個論壇得到了答案。此方法僅適用於默認的where子句。內置的enter_query和execute_query系統僅在默認工具欄中可用。 –

回答

1

問題可能是您的觸發器有幾個選項。 其中之一是如果它將在進入查詢模式時觸發。 因爲你現在處於輸入查詢模式,所以這個開關應該是真的。 然後它會工作。

該開關的默認值爲false,因此在進入查詢模式下不會觸發任何觸發器。

+0

你在說什麼類型的選項?在按鈕按下觸發器時,我只寫了這些代碼。沒有其他的代碼。 –

+0

看看觸發器的屬性。不是代碼 – nightfox79

+0

首先感謝Nightfox79提請注意這個問題..事實上,我改變了我的作品的策略,但我再次在另一個測試表單中檢查了代碼,它的工作原理。雖然我不知道那時觸發屬性的問題是什麼......! –