Q&A

  • QReport프로젝트 파일에 첨가시키는 것에 대해...
1. 하나의 프로젝트에 폼이 두개 입니다. Form1, QReport 폼입니다.
Quick Report폼은 File -> New -> Other -> New tab -> Report를 추가하였습니다.

그럼 Form1 과 QReport 폼 합쳐서 두개의 폼입니다.
그리고 나서, Save all 로 저장을 하였습니다. (.pas)파일 두개, (.dpr)파일 하나를 저장하였습니다.

프로그램 종료 후, (.dpr)파일을 실행하였습니다. 원래 작업했던 모든 파일을 불러오기 위하여, 그러나 Form1 파일은 불러오는데, QReport 폼을 읽어오지 못합니다. 어떻게 해야 제가 작업했던 폼 파일도 다 불러 올수 있을까요? 그리고, 제가 저장하는 방법이 잘못된거라면, 작업한 여러 개의 폼을 포함시키면서 저장하려면 제가 어떻게 해야 할까요? 여러 개의 폼으로 제작한 다음, save all로 모두 저장했다고 생각하고, 다시 파일들을 불러오면 폼 파일이 보이지 않네요. ㅜㅜ 답답합니다.

아시는 분께서는 꼭 좀 조언 좀 부탁드립니다.

2. QReport에 Events 의 BeforePrint 코딩을 하는데요.
폼에다가 테이블 컴포넌트를 달았습니다. 쿼리 컴포넌트가 아닌 테이블 컴포넌트를 이용해서 데이터를 가져오려고 합니다. 필드명은 (AA1, AA2, AA3, AA4, AA5, AA6)

그래서 코딩을
begin
QuickRep1.DataSet:=DataModule1.Table1;

QRDBText1.DataSet:=DataModule1.Table1;
QRDBText1.DataField:='AA1';

QRDBText2.DataSet:=DataModule1.Table1;
QRDBText2.DataField:='AA2';

QRDBText3.DataSet:=DataModule1.Table1;
QRDBText3.DataField:='AA3';

QRDBText4.DataSet:=DataModule1.Table1;
QRDBText4.DataField:='AA4';

QRDBText5.DataSet:=DataModule1.Table1;
QRDBText5.DataField:='AA5';

QRDBText6.DataSet:=DataModule1.Table1;
QRDBText6.DataField:='AA6';

end;

했습니다. run이 안되네요. DataModule1이 선언이 안되었다고 나오는데요. 어찌할바를 모르겠습니다.
조언이 귀중한 시간입니다. 답글 좀 부탁드립니다. 감사합니다.

2  COMMENTS
  • Profile
    Marek 2006.11.29 20:03
    Marek입니다.

    님께서 작성하신 내용상으로는 잘 알수가 없네요..
    소스를 멜로 보내주시면 점검이 가능할 것 같습니다.
    Data는 안보내셔도 됩니다.

    Marek..



  • Profile
    Marek 2006.11.30 18:21
    보내주신 코드에서 아래와 같이 수정하십시요.
    Database는 제게 없어서 관련코드를 주석으로 처리하였습니다.
    라벨 인쇄서식은 좀 조정작업이 필요합니다. 인쇄크기/폰트크기/여백 등등....
    Project를 첨부하였으니 참고가 될 것입니다.

    procedure TForm1.BitBtn1Click(Sender: TObject);
    begin
       //요기 이렇게 하심이 좋습니다.
       //상단메뉴중 Project-Option-Forms탭 에서 Form2는 Available Form으로
       //이동하십시요..--> 이 의미는 프로그램 실행시에 Form2를 Load하지 않고
       //Form1의 Print버튼을 눌렀을때 메모리로 Load하게 됩니다.
       //이렇게 하여야 Form이 많을 경우에도 첫 실행속도가 빨라집니다.
       try
          if form2 = Nil then
              form2 := Tform2.Create(Self);
          form2.QuickRep1.Preview;
                                                    
       finally
          form2 := Nil;
          form2.Free;
       end;
       {
       form2:=Tform2.create(self);
       try
          form2.QuickRep1.preview;
       finally
          form2.free;
       end;

       DBGrid1.SetFocus;
       }
    end;

    즐건 하루 되세요

    Marek...