도움을 청합니다..
저는 지금 델7, 크리스탈 9를 사용중입니다.
많은 어려움 끝에 델파이에서 크리스탈 리포트 뷰어에 값을 뿌려줄수 있었습니다
그러나....
여러개의 값을 뿌려줘야 하는데....
마지막 한개 값밖에 보여주질 않습니다.
<!--CodeS-->
Application1:= CRAXDDRT_TLB.TApplication.Create(self);
FileName := ExtractFilePath(Forms.Application.ExeName);
FileName := FileName + 'Report2.rpt';
CrReport := Application1.OpenReport(FileName,crOpenReportByTempCopy);
CrReport.EnableParameterPrompting := false;
CrReport.DiscardSavedData;
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('select * from c_customer ');
Query1.Open;
while not(Query1.Eof) do begin
CrReport.FormulaFields.Item[1].Text :=''''+Query1.fieldByName('customerid').AsString+'''';
CrReport.FormulaFields.Item[2].Text :=''''+Query1.FieldByName('mk_csrid').AsString+'''';
CrReport.FormulaFields.Item[3].Text :=''''+Query1.FieldByName('company_address1').AsString+'''';
CrReport.FormulaFields.Item[4].Text :=''''+Query1.FieldByName('e_mail1').AsString+'''';
CrReport.FormulaFields.Item[5].Text :=''''+Query1.FieldByName('e_mail2').AsString+'''';
Query1.Next;
end;
<!--CodeE-->
총 6개의 Row가 나와야 하는데... 마지막 값을 가진 한개의 Row만 나옵니다..
고수님들....부탁드립니다~~~
도와주세요~~~
아래 소스만을 기준으로 한 답변 입니다.
얼른 소스를 보니 눈에띄는게 현재레코드의 위치가 어디인가 하는것 입니다.
소스에 while 시작전에 Query1.First; 를 해 줘 보시지요.