3개의 테이블간에 마스터 디테일 테이블관계를 연결돼 있습니다.
Table1
Table2
Table3
이 있는데,
Table1의 PK-> cust_id,
Table2의 PK-> d_name, FK-> cust_id(Table1의 cust_id)
Table3는 PK-> (cust_id,d_name)
으로 구성돼 있습니다.
Table1(Master) => Table2(Detail) 는 cust_id로 마스터/디테일 설정돼 있고,
Table2(Master) => Table3(Detail) 는 cust_id, d_name으로 마스터/디테일이 설정돼있지요..
그런데,
위 3개의 테이블칼럼의 정보를 입력할려고할때..
문제는 각 테이블에 해당하는 칼럼을 입력하고 다음칼럼테이블입력할려고 포커스가 이동되면....
델파이가 자동으로 post해버리면서...
post순서가...
Table3 => Table2 => Table1의 순서로 하는 것 같더군요...
그러니까, Table3를 입력하는데,,
포린키로 잡혀있는 Table2의 d_name이 아직 값이 없으니..마스터값이 없다거나, 외래키가 잘못댔다고 에러를 띄웁니다....
각 마스터/디테일간 포커스 이동시 자옹업데이트 post가 안되게 하고,,
나중에 사용자가 "저장"버튼을 누를때...
Table1.post;
Table2.post;
Table3.post;
순서로 저장되게 하면 에러가 안뜰 것 같은데...????
어찌해야 하는지..
무림고수의 내공부탁합니다.
목록보기를 눌러버려서.. 다 날라가버렸네요.. *^^*
다시쓸려니.. 쩝..
우쨌든 결과적으로..
Table 컴포넌트만 사용하셨다는 뜻이죠?
그럼..
TUpdateSQL을 사용해서 CachedUpdate로 사용해 보세요..
실제 Update는 되지 않고..
메모리상에서 insert/update/delete가 일어나니까요...
ApplyUpdates, CommitUpdate를 호출해야지만..
실제로 Table에 저장된답니다..
답이 되셨는지..