Form1에서 DB탐색기를 만들어 여러 DB들 중 하나를 선택하여 Form2에서 QReport로 출력하려는데...
Form1이 생성될때 데이타베이스의 목록(앨리어서 목록)을 조사해 ListBox1에 채우고, ListBox1에서 앨리어스가 선택되면 목록을 조사해 ListBox2에 채웁니다.
ListBox2에서 항목이 선택되면 테이블을 활성화시켜 DBGrid로 테이블을 읽어오도록 합니다.
Form2에서는 QuickRep 컴포넌트를 배치하고 QRBand 컴포넌트를 세개를 사용하여 Header,Detail, PageFooter로 구성하였습니다.
Form1에서 테이블을 선택할 때마다 선택된 테이블을 연결하여 QReport로 작성하려고 합니다.
그런데 중요한것은 Form1에서 선택한 테이블을 연결하지 못했습니다.
아무리 책을 뒤져봐도 하나의 데이타베이스 테이블만을 출력하거나 여러 테이블이여도 조인하여 하나의 보고서로 출력하는 것 밖에는 없네요...
해결방법 부탁드립니다...
당연히 Form1과 Form2를 서로 참조할수 있게 해주었구요.
form1의 코드는 다음과 같습니다.
procedure TForm1.FormCreate(Sender: TObject);
begin
Session.GetDatabaseNames(ListBox1.Items);
end;
procedure TForm1.ListBox1Click(Sender: TObject);
begin
Session.GetTableNames(ListBox1.Items[ListBox1.ItemIndex],
'',True,False,ListBox2.Items);
end;
procedure TForm1.ListBox2Click(Sender: TObject);
begin
Table1.Active:=False;
Table1.DatabaseName:=ListBox1.Items[listBox1.ItemIndex];
Table1.TableName:=ListBox2.Items[ListBox2.ItemIndex];
Table1.Active:=True;
end;