본문 바로가기

work/crystal_reports

코딩으로 TTX 파일 만드는 방법

1. 코딩으로 TTX 파일 만드는 방법

Private Function TTX_FILE()


    dim DB as connection

    dim RS as recordset

   

    DB.open "DSN=연결할 DB", ["ID"] ,["Password"]

    //값을 가져올 DB 열어주고  

   

    strsql = "SELECT .......... "    

    //내가 원하는 레코드셋을 추출해줄 쿼리문

   

    RS.Open strsql, DB, adOpenDynamic, adLockReadOnly    

    //뒤의 두 개는 원하시는 값을 선택하시면 되구요

   

    hResult = CreateFieldDefFile(RS, strPath & "\ttx파일이름.ttx" , true)

    // 가장 중요한 부분 (대소문자 구문 확실하게 하셔서 쓰세요)

    // 저 함수를 쓰기 위해서는

    // Declare Function CreateFieldDefFile Lib "p2smon.dll" (lpunk As Object, ByVal filename As String, ByVal bOverWriteExistingFile As Long) As Long

        // 위의 선언이 필요합니다.

    // 리턴값(hResult)이 1이면 지정한 경로에 ttx파일이 만들어져 있을 거에요.


    report.Database.Table(1).SetDataSource RS, 3  

    // dim report AS New crViewer     (crViewer는 폼에 배치한 crystal report viewer 이름입니다)

    // 맨뒤의 3은 그냥 "3"을 써주라고 하더라구요


    마지막으로 레코드셋이랑 DB닫아주시면 됩니다


End Function



2. 좀 더 손쉬운 .. CR 에서 TTX 파일 만드는 방법


크리스탈 레포트 실행시키신 다음 "Database Expert"를 누르시면 왼쪽 "Available Data Sources"에 쭉쭉 리스트가 뜨실겁니다

그 중 "Create New Connection"을 선택하신 다음 "Field Definitions Only"이라는 메뉴를 선택하세요

그럼 기존의 TTX 파일을 찾을 수 있는 버튼과 새로 생성시킬 수 있는 [Create File]라는 버튼이 있을거에요

[Create File..]을 누르신 다음 원하는 형태의 테이블을 정의해 주시면 됩니다.

 예)  Field Name : szName

       Field Type : string(string 의 경우 옆에 크기를 지정하는 칸이 생겨요)  255

       Sample Data : Devpia(넣어도 그만 안 넣어도 그만)

하나의 필드 설정이 끝났다면 [Add]를 누른다음 다음 필드 정의를 하시면 되겠죠


설정이 모두 끝났다면 [File]->[Save As]로 원하는 곳에 저장을 해주시고 [Exit]로 나오시면 됩니다

그럼 TTX 파일이 원하는 곳에 생성되어 있을 거에요.

이 경우, 만드신 TTX 파일을 바로 레포트에서 확인하실 수 있으니 확실하게 필드 정의만 되어있다면 아주 편한 방법입니다.




** 저두 초보라 설명이 어설픕니다. 혹시 이해안되시는 부분있으면 다시 질문 올려주세요

    즐프하세요~