Q&A

  • 크리스탈을 첨 쓰는 초보입니다... 문제가 발생해서요...
델파이에서 크리스탈레포트를 첨 쓰는 초보입니다...

비베에서는 사용해봤는데...

사용법이 좀 틀린 것 같아요..



ODBC를 이용하는데..



코딩을 어떻게 해야하는지 갈켜주세요...



고수님들의 많은 조언 부탁... 꾸우벅..





1  COMMENTS
  • Profile
    김정선 2000.03.07 13:10
    이렇게 하시면 어떠하실지...

    게시판 폭이 좁아 소스 정렬이 잘 아니 되었네요..

    메모장으로 복수 후 보시면 잘 보일겁니다..



    with frmMain.Crpe do

    begin

    try

    // Daily Worker 버튼을 선택하면 수행한다.

    if rbtnDaily.Checked then

    begin

    // 레포트 위치, 포뮬러 정의를 초기화한다.

    ReportName := HRCSInfo.AppPath + 'REPORT' + conHRCS33;

    Formulas.Retrieve;

    Formulas.Name := 'PROJECT_NO';

    Formulas.Formula.Text := 'StringVar ProjectNo := "' + StrProjectNo + '"';

    Formulas.Name := 'PROJECT_NAME';

    Formulas.Formula.Text :=

    'StringVar ProjectName := "' + StrProjectName + '"';



    SQL.Query.Clear;

    SQL.Query.Add

    ( 'SELECT "C"."CONT_NO", "C"."NAME", "C"."COST_CODE", "SC"."NAME", ' );

    SQL.Query.Add

    ( ' "U"."UNIT_DESC", "O"."OCCUP_NAME", "O"."DAILY_WAGE", ' );

    SQL.Query.Add( ' "D"."DISCI_NAME", "CA"."CATE_NAME", ' );

    SQL.Query.Add( ' TO_CHAR("C"."CONT_DATE", ''MM/DD/YYYY''),' );

    SQL.Query.Add( ' TO_CHAR("W"."CHECK_IN", ''HH24:MI''),' );

    SQL.Query.Add( ' TO_CHAR("W"."WORK_DATE", ''MM/DD/YYYY''),' );

    SQL.Query.Add( ' TO_CHAR("W"."WORK_DATE", ''DAY''),' );

    SQL.Query.Add( ' TO_CHAR("WV"."CHECK_OUT", ''HH24:MI'')' );

    SQL.Query.Add

    ( 'FROM "HRCS_CONTRACT" "C", "HRCS_CONTRACT" "SC", "HRCS_WORK" "W", "HRCS_UNIT" "U",' );

    SQL.Query.Add( ' "HRCS_OCCUP" "O", "HRCS_DISCIPLINE" "D", "HRCS_CATEGORY" "CA",' );

    SQL.Query.Add( ' ( SELECT WW.CARD_TAG, WW.CHECK_OUT ' );

    SQL.Query.Add( ' FROM HRCS_WORK WW' );

    SQL.Query.Add( ' WHERE TO_CHAR( WW.CHECK_OUT, ''MM/DD/YYYY'' ) = ''' + DateToStr( tmpWork_Date.Date - 1 ) + '''' );

    SQL.Query.Add( ' ) "WV"' );

    SQL.Query.Add( 'WHERE "C"."UNIT_CODE" = "U"."UNIT_CODE"(+) ' );

    SQL.Query.Add( 'AND "C"."DISCI_CODE" = "D"."DISCI_CODE"(+) ' );

    SQL.Query.Add( 'AND "C"."SI_CONTNO" = "SC"."CONT_NO"(+) ' );

    SQL.Query.Add( 'AND "C"."OCCUP_CODE" = "O"."OCCUP_CODE"(+) ' );

    SQL.Query.Add( 'AND "C"."CARD_TAG" = "WV"."CARD_TAG"(+) ' );

    SQL.Query.Add( 'AND "C"."CARD_TAG" = "W"."CARD_TAG" ' );

    SQL.Query.Add( 'AND "C"."CATE_CODE" = "CA"."CATE_CODE"(+) ' );

    SQL.Query.Add( 'AND "C"."GROUP_CODE" = ''DW''' );

    SQL.Query.Add( 'AND TO_CHAR( "W"."CHECK_IN", ''MM/DD/YYYY'' ) = ''' + DateToStr( tmpWork_Date.Date ) + '''' );

    SQL.Query.Add( 'AND "C"."CONT_DATE" <= TO_DATE( ''' + DateToStr( tmpWork_Date.Date ) + ''', ''MM/DD/YYYY'' )' );



    if medtCheck_InTime.Text <> ' : ' then

    SQL.Query.Add( 'AND TO_CHAR("W"."CHECK_IN",''HH24:MI'') > ''' + medtCheck_InTime.Text + ''' ' );

    if cmbArea.Text <> '' then

    SQL.Query.Add( 'AND "C"."UNIT_CODE" = ''' + cmbArea.LookupValue + '''' );

    if cmbDiscipline.Text <> '' then

    SQL.Query.Add( 'AND "C"."DISCI_CODE" = ' + cmbDiscipline.LookupValue );

    if cmbSupervisor.Text <> '' then

    SQL.Query.Add( 'AND "C"."SI_CONTNO" = ''' + cmbSupervisor.LookupValue + '''' );



    SQL.Query.Add( 'ORDER BY "U"."UNIT_DESC" ASC, "CA"."CATE_NAME" ASC, "D"."DISCI_NAME" ASC, ' );

    SQL.Query.Add( '"SC"."NAME" ASC, "C"."CONT_NO" ASC ' );



    // 레포트를 실행한다.

    Execute;

    end;

    except

    MessageDlg( conReportErrorMessage, mtError, [mbOk], 0 );

    end;

    end;





    행복하세요..





    - 멕시코로 출장 온 어설푼 이 입니다 -







    파이공주 wrote:

    > 델파이에서 크리스탈레포트를 첨 쓰는 초보입니다...

    > 비베에서는 사용해봤는데...

    > 사용법이 좀 틀린 것 같아요..

    >

    > ODBC를 이용하는데..

    >

    > 코딩을 어떻게 해야하는지 갈켜주세요...

    >

    > 고수님들의 많은 조언 부탁... 꾸우벅..

    >

    >