Q&A

  • 퀵레포트에 관해 몇가지 여쭤봅니다.
레코드수만큼 출력을 해야 하는데...
쉽지가 않아... 이렇게 글을 올립니다.
환경은 window 2000 server, SQL2000, Delphi5.0

일단 하나에 쿼리에서 모든내용을 가져오지 못하기 때문에...
결과들에 대한 가공이 반드시 필요한데... 값들을 제대로 가져오지 못하더라구요...
첫번재 레코드 값으로 모든 레코드에 값이 채워지던데...
제가 로직을 잘못세워서 그런건가요?
break point써서 값을 확인하면 값들은 또 제대루 가더라구요...
퀵레포트 데이터셋을 레코드 수를 가져오는 쿼리에 걸어 났구요...
나머지 값을을 calcfield 안에 코딩 했습니다.

참고로 소스 올립니다.
procedure TForm2.Query2CalcFields(DataSet: TDataSet);
//윗부분생략
query3.Close;
  query3.SQL.Clear;
  query3.SQL.Add('select * from 테이블 ');
  query3.SQL.Add('where 코드 = 값 ');
  query3.Open;


  if (Query2.FieldByName('sum').asinteger) < 70 then // calcfield값을 참조해서
  begin
        QRRichText2.Lines.Add('불합격입니다.   '  );
  end

  else
  begin
     query3.first; //여기서 문장을 여러개 가져오려 합니다.
     While Not query3.eof do
     begin
        QRRichText2.Lines.Add(query3.fieldbyname('값').Asstring);
        query3.Next;
     end
2  COMMENTS
  • Profile
    정용광 2003.05.14 21:16

    QRRichText2.Lines.Add(query3.fieldbyname('값').Asstring);
    에서 왜 값이 들어가야 하죠..
    sum아닌가요??
    그래야 sum에 대한 값으로 처리하는 것 같은데..
  • Profile
    앙리앙리 2003.05.14 21:35

    거기서 값은... 문자열을 라인에 찍으려고 하는거죠...
    calcfield 참조(비교)해서요...
    레코드 마다 문자열이 가변이라...
    이이벤트 시점이 안닌가봐요... 휴휴~~~
    잘 안되네요...