안녕하세요... Master/detail을 연결해서 입력/수정/삭제에 관한것을 작성중입니다..
기본적으로 TQuery를 3개를 놓고 master/detail관계를 구성했습니다..
그리고 UpdataSQL를 3개를 놓고 SQL을 제너레이트 시켰습니다..
master의 PK값을 detail의 FK컬럼에 넣어주어주기위해 detail과 연결된 TQuery의
Before Pose 이벤트에 코드를 작성해야하는데.. 어떤식으로 코드를 작성해야 합니까.?
저는 Querydetail1.FieldByName('column1').Value := Querymaster1.FieldByName('column').Value; 이런 식으로 값을 넘겨주기위해 작성했는데... master테이블에는
저장이 되는데, detail 테이블에는 저장이 되지않습니다...
물론 Database.ApplyUpdate([Query1,Query2,Query3]); 를 사용했습니다..
고수님들 자세한 조언 바랍니다..
QueryDeail1의 OnNewRecord Event에
Querydetail1.FieldByName('column1').Value := Querymaster1.FieldByName('column').Value; 문장을 넣으세요.
신규입력시에는 Detail Query의 OnNewRecord Event에서 Detail의 PK값을 Master PK값을 받아 넣습니다. 물론 이 경우는 Master Query의 PK값이 생성되어 있을 경우입니다.
바람인가 wrote:
> 안녕하세요... Master/detail을 연결해서 입력/수정/삭제에 관한것을 작성중입니다..
> 기본적으로 TQuery를 3개를 놓고 master/detail관계를 구성했습니다..
> 그리고 UpdataSQL를 3개를 놓고 SQL을 제너레이트 시켰습니다..
> master의 PK값을 detail의 FK컬럼에 넣어주어주기위해 detail과 연결된 TQuery의
> Before Pose 이벤트에 코드를 작성해야하는데.. 어떤식으로 코드를 작성해야 합니까.?
> 저는 Querydetail1.FieldByName('column1').Value := Querymaster1.FieldByName('column').Value; 이런 식으로 값을 넘겨주기위해 작성했는데... master테이블에는
> 저장이 되는데, detail 테이블에는 저장이 되지않습니다...
> 물론 Database.ApplyUpdate([Query1,Query2,Query3]); 를 사용했습니다..
> 고수님들 자세한 조언 바랍니다..