안녕하십니까?
pb에서 델파이로 전환 하려고 지금 테스트 중입니다.
서로 다른 DB에 있는 테이블 조인에 관한 질문입니다.
마스타/ 디테일에서는 조인하여 사용이 가능함을 테스트 했습니다.
그러나 DBGrid에서는 좀처럼 모르겠습니다.
콤보박스를 이용하는것과 일반 조인방법을 배우고 싶습니다.
제가 아주 초보 입니다. 죄송하지만 상세하게 부탁드립니다.
즉 dbgrid에서 사번 연봉을 출력 한다면 사번에 대한 이름을 서로 다른 DB에서
가지고 와 뿌려 주려고 합니다. 이렇게 되면 마스타/ 디테일 조건을 맞지 않고
사번 필더에 이름을 넣어 주어야 하는데 어떻게 하면 좋을 까요?
감사합니다.
테이블을 이용하는 경우 우선 마스터로 사용할 테입블 콤포넌트을 하나 놓습니다.( table1)
테이블은 마스트로 사용할 파일은 선택합니다. <- 무슨말인지 아시죠?
또 디테일로 사용할 테이블 콤포넌트를 놓습니다. (Table2)
디테일로 사용할 파일을 선택합니다.
참고로 이는 엄격한 의미의 마스터 디테일이 아닙니다.
table1 콤포넌트를 마우스로 오른쪽버튼으로 클릭한후 Field Edit 를 선택하여 필드에디터 창을 엽니다.
필드에디터 창에서 마우스오른쪽버튼을 클릭한후 add all 을 선택하여 전체 필드를 입력합니다. 이때 필요한 필드만 입력해도 됩니다.
필드에디터 창에서 이번에는 new Field 를 선택합니다.
이곳에서 필드명 타잎 사이즈 등을 입력하고 Fieldtype은 lookup 을 선택합니다.
Key Fields 는 키로 사용할 필드(예:사번)를 선택하고 DateSet 은 Table2를 선택합니다.
LookupKey 도 당연히 '사번'을 선택하고 Result Field 는 보여주기를 원하는 필드를 선택합니다.
위의 과정을 반복해 Table2 에서 필요한 파일들을 모두 Table1 에 new field 로 추가합니다.
위 와같이 하면 하나의 그리드에 링크된 두개의 파일을 표시할 수 있습니다.
아니면 퀴리를 사용하시면 됩니다.
With Query1 do
begin
Close;
SQL.Clear;
SQL.Add('Select *'); // 여기는 필요한 필드만 선택합니다.
SQL.Add('From file1, fiel2') ; //조인할 파일 두개로 부터
SQL.Add('Where File1.사번= File2.사번'); //이곳에서 조인할 파일 두개의 키필드를 링크합니다.
Open;
end;
위와 같이 한후 디비그리드에 Query1 의 소스를 연결해주면 됩니다.
간단한 방법으로는 디비그리드를 두개 사용하는 방법도 있겠지요.
테이블 두개를 마스터 디테일 관계를 만들어 주고
디비그리드 하나에는 마스터를 다른 그리드에는 디테일 테이블을 연결해 주는것입니다.
답변이 되어나 모르겠군요.
좋은 코딩하세요.
----- Original Message -----
From: 김형태
To: 윤종필
Sent: Thursday, October 19, 2000 4:27 PM
Subject: 죄송합니다.
김형태 wrote:
>
> 안녕하십니까?
>
> pb에서 델파이로 전환 하려고 지금 테스트 중입니다.
>
> 서로 다른 DB에 있는 테이블 조인에 관한 질문입니다.
>
> 마스타/ 디테일에서는 조인하여 사용이 가능함을 테스트 했습니다.
>
> 그러나 DBGrid에서는 좀처럼 모르겠습니다.
>
> 콤보박스를 이용하는것과 일반 조인방법을 배우고 싶습니다.
>
> 제가 아주 초보 입니다. 죄송하지만 상세하게 부탁드립니다.
>
> 즉 dbgrid에서 사번 연봉을 출력 한다면 사번에 대한 이름을 서로 다른 DB에서
>
> 가지고 와 뿌려 주려고 합니다. 이렇게 되면 마스타/ 디테일 조건을 맞지 않고
>
> 사번 필더에 이름을 넣어 주어야 하는데 어떻게 하면 좋을 까요?
>
> 감사합니다.
>
>