2012-11-30 55 views
0

我創建了一個表單,將記錄添加到子表中。不過,我不希望人們能夠編輯輔助鍵,只能從父級的主鍵列表中選擇它或沿着這些行選擇它。我怎麼能這樣做?關於在子表中創建限制性記錄。 (Oracle Forms Builder)

的表格:

CREATE TABLE CHAMPIONS(CNAME VARCHAR2(15)NOT NULL,PRICELEVEL NUMBER(1)NOT NULL,ROLE VARCHAR2(10)NOT NULL,HPLEVEL NUMBER(2)NOT NULL,ATKLEVEL NUMBER( 2)NOT NULL,MAGICLEVEL NUMBER(2)NOT NULL,DIFFLEVEL NUMBER(2)NOT NULL);創建表SKINS(SNAME VARCHAR2(20)NOT NULL,CNAME VARCHAR2(15)NOT NULL,PRICELEVEL NUMBER(1)NOT NULL);

ALTER TABLE冠軍ADD CONSTRAINT pk_Champions PRIMARY KEY(CNAME);

ALTER TABLE皮膚添加約束fk_Skins FOREIGN KEY(CNAME) 參考冠軍(CNAME);

回答

0

能夠給出答案的信息太少,但我可以試試看。

您可以詳細表中創建並有LOV趕走父表的主鍵,也文本項目與您會被鏈接LOV你需要把WHEN-VALIDATE-ITEM觸發與相同的查詢LOV小號如LOV s RECORD GROUP,這樣如果用戶鍵入而不是使用LOV,則可以驗證輸入,然後在輸入無效時發出警報,並在輸入正確的值時獲取正確的主主鍵。

下面是與LOV按鈕數據塊怎麼看喜歡 -

enter image description here

,下面將觸發對STORE項目在datablock-

enter image description here

可以碼RG與查詢中考慮主表的觸發器中的查詢類似。

+0

我會檢查這個時候,但我可以給你你需要的每一點信息。用更多信息更新了問題。告訴我你是否需要更多。 –

0

獲得此功能的最簡單方法是創建一個基於champions.cname的LOV,並將其附加到項目表單列skins.cname(如果您不熟悉創建LOV,請參閱表單幫助)。然後將項目skins.cname的項目屬性「從列表中驗證」設置爲「是」。這將根據現有的cname值驗證所有輸入的值。

相關問題