2012-11-30 2 views
0

레코드를 자식 테이블에 추가하는 양식을 만들었습니다. 그러나 사람들이 보조 키를 편집 할 수 없도록 부모의 기본 키 목록에서 선택하거나 보조 키를 선택하면됩니다. 내가 어떻게 그럴 수 있니?하위 테이블의 제한적인 레코드 생성 정보. (Oracle Forms Builder)

표 : (1) NULL NOT, 역할 VARCHAR2 (10) NULL NOT, HPLEVEL 번호 (2) NOT NULL, ATKLEVEL 번호

CREATE TABLE 챔피언 (CNAME VARCHAR2 (15) NULL NOT, PRICELEVEL 번호 (2) NOT NULL, MAGICLEVEL NUMBER (2) NOT NULL, DIFFLEVEL NUMBER (2) NOT NULL);

CREATE TABLE SKINS (SNAME VARCHAR2 (20) NOT NULL, CNAME VARCHAR2 (15) NOT NULL, PRICELEVEL NUMBER (1) NOT NULL);

변경 테이블 챔피언 ADD CONSTRAINT pk_Champions PRIMARY KEY (CNAME);

변경 테이블 스킨 추가 제한 fk_Skins 외부 키 (CNAME) 참조 챔피온 (CNAME);

답변

0

답을 줄 수있는 정보가 너무 적지 만 시도해볼 수 있습니다.

당신은 LOV s는 세부 테이블에 작성하고 같은 쿼리와 WHEN-VALIDATE-ITEM 트리거를 둘 필요가 LOV 또한 텍스트 항목이있는 당신이 LOV를 연결하는 것, 부모 테이블의 기본 키 오프 구동하는 것이이 한 수 LOV s RECORD GROUP과 같이 사용자가 LOV을 사용하는 대신 입력을 확인한 다음 올바르지 않은 입력이있는 경우 경고하고 올바른 값을 입력 한 경우 올바른 마스터 기본 키를 가져올 수 있습니다. 다음은

는 LOV 버튼을 사용하여 데이터 블록이 datablock-

enter image description here

당신은 코딩 할 수있는 STORE 항목에 같은 -

enter image description here

그리고 아래에있는 트리거를 보는 방법입니다 쿼리의 마스터 테이블을 고려하는 트리거의 쿼리와 마찬가지로 RG.

+0

내가 할 수있을 때 이것을 확인 하겠지만 필요한 모든 정보를 줄 수 있습니다. 자세한 정보로 질문을 업데이트했습니다. 더 필요하면 말해줘. –

0

이 기능을 얻는 가장 간단한 방법은 champions.cname을 기반으로 LOV를 만들고 항목 양식 열 skins.cname에 첨부하는 것입니다 (LOV 생성에 익숙하지 않은 경우 양식 도움말을 참조하십시오). 그런 다음 skins.cname 항목의 '목록에서 유효성 검사'항목 속성을 예로 설정합니다. 그러면 입력 된 모든 값이 기존의 cname 값에 대해 유효성이 검사됩니다.