Q&A

  • 크리스탈리포트의 Formula문제
크리스탈리포트 3.0(4.5)에서 만들어진 파일을 수정하지 않고 8.0이나 9.2에서 사용하려고 합니다. 다른 문제는 어떻게든 해결이 될 것 같은데
Formula값을 넘기지 못해 진행이 안되고 있습니다.
버전이 올라가면서 Formula값을 받는 방법이 바뀐것인지 아니면 외부에서 넘기는 Formula는 사용하지 못하는것인지 알고 싶습니다.
혹시 해결방법을 아시는 분은 답변달아 주시면 감사하겠습니다.

-현재 사용중인 방법은 아래와 같습니다.
Table1.DataBaseName := ExtractFilePath(Application.ExeName);
        BatchMove1.Execute;
CrystalReport1.ReportFileName := ExtractFilePath(Application.ExeName) + 'rp1.rpt';
CrystalReport1.Formulas[0] := 'dt = "' + DateTimeToStr  
            (Query1.ParamByName('dt').AsDateTime) + '"';
CrystalReport1.Formulas[1] := 'e_dt = "' + DateTimeToStr
            (Query1.ParamByName('e_dt').AsDateTime)  + '"';
CrystalReport1.Action := 1;
====================================================================
위와같이 넘기면 에러가 나는군요...왜 그럴까요???    
1  COMMENTS
  • Profile
    Galaxy 2003.03.13 22:02
    안녕하세요
    수고 많습니다.
    저는DelPhi4.0, 크리스탈리포트 7.0을 사용하고 있습니다.
    저는 아래부분을 이렇게 사용합니다.
    참고만 하세요

    Formulas.Clear;
    Formulas.Retrieve;
    WindowState:=wsMaximized;
    Formulas.Name := 'in_d1';
    Formulas.Formula.Text := '"'+DateEdit1.Text +'"';
    Formulas.Name := 'in_d2';
    Formulas.Formula.Text := '"'+DateEdit2.Text +'"';
    Formulas.Name := 'cu_n1';
    Formulas.Formula.Text := '"'+Label2.Caption +'"';
    if (Label3.Caption = 'W') then
       begin
       str1:=FormatFloat('###,###,###,###',kfEdit1.Value);
       str1:='W'+' ' + str1;
       Formulas.Name := 'to_ta1';
       Formulas.Formula.Text :='"'+str1+'"';
       str2:=FormatFloat('###,###,###,###',kfEdit2.Value);
       str2:='W'+' ' + str2;
       Formulas.Name := 'to_ta2';
       Formulas.Formula.Text :='"'+str2+'"';
       str3:=FormatFloat('###,###,###,###',kfEdit3.Value);
       str3:='W'+' ' + str3;
       Formulas.Name := 'to_ta3';
       Formulas.Formula.Text :='"'+str3+'"';
       end;

    수고하세요