Sau khi chọn những đối tượng sử dụng vào report, cấu trúc và quan hệ của các đối tượng sẽ được thể hiện report, muốn xem chọn Database\Visual Linking Expert... Sửa kết nối cũ Trong trườ
Trang 1Tạo mới một report
Chọn File\New hoặc Click New trên thanh toolbar Ban đầu chọn dạng đơn
giản As a Blank Report
Kết nối database trong Crystal report
1 Đặt kết nối mới-Chọn Database\Add database to report-Trong Data Explorer, chọn More datasource\Microsoft SQL Server
Trang 2-Nhập tên server, database, username, password để connect
-Trong Microsoft SQL Server sẽ có thêm một mục mới là tên server ta
vừa chọn Xổ mục này ra sẽ có những đối tượng của database vừa khai
báo Chọn những đối tượng có tham gia và report bằng cách double
click lên đối tượng Có thể chọn Option để lọc những loại đối tượng liệt
kê ra là table, view hay stored procedure
Trang 3Trong trường hợp ta đã sử dụng connection tới SQL server nào đó rồi thì lần sau,
ta sẽ chọn mục Current connections trong Data Explorer, trong đó sẽ có
mục trỏ tới server ta vẫn thường sử dụng
Sau khi chọn những đối tượng sử dụng vào report, cấu trúc và quan hệ của các
đối tượng sẽ được thể hiện report, muốn xem chọn Database\Visual Linking
Expert
Trang 42 Sửa kết nối cũ
Trong trường hợp ta di chuyển dữ liệu xây dựng report sang máy khác, các kết nối dữ liệu của report cần sửa đổi hoặc cấu trúc các đối tượng sử dụng trong report có sự thay đổi, cần phải cập nhật lại, ta làm những bước sau:
-Chọn Database\Verify database
-Nếu server dữ liệu cũ không còn, Crystal sẽ yêu cầu ta nhập server,
database, username, password mới cho report
-Trong trường hợp cấu trúc các đối tượng sử dụng trong report có thay đổi, Crystal sẽ hỏi ta có cập nhật cấu trúc không, ta chọn YES để cập nhật cấu trúc, nếu không cần thì chọn NO
Các khái niệm cơ bản của report
1 Các section của report
Một report bao gồm 5 phần chính:
-Report header: phần thông tin đầu tiên của report Một báo cáo report thường sẽ gồm nhiều trang, report header chính là phần xuất hiện chỉ một lần ở trang đầu tiên của toàn report Ví dụ như báo cáo có tiêu đề “Báo
cáo thu chi tháng 12 năm 2001” thì tiêu đề sẽ được đặt trong phần report header
-Page header: phần hiển thị thông tin xuất hiện ở đầu mỗi trang của report Ví dụ như một báo cáo dạng bảng có nhiều cột như: STT, Tên, Địa chỉ,
Trang 5dàng ý nghĩa mỗi cột Khi đó các tiêu đề cột được đặt vào phần page header
-Details: phần hiển thị thông tin chi tiết của report Một report thường
bao gồm nhiều mục với vai trò như nhau tương ứng với các record của database
mà report sử dụng Phần details sẽ liệt kê những record đó Ví dụ báo cáo thu chi thì các mục thu chi sẽ được liệt kê trong phần details
-Report footer: phần hiển thị thông tin xuất hiện chỉ một lần ở cuối
report Ví dụ thông tin như người lập báo cáo là ai, tại đâu, hôm nào sẽ được
đặt ở report footer
-Page footer: phần thông tin xuất hiện cuối mỗi trang Ví dụ số trang
được đặt ở page footer
2 Field Explorer
Khi chọn xong các đối tượng database cho vào report, Crystal sẽ hiện ra cửa
sổ Field Explorer hoặc chọn icon trên tool bar hoặc chọn các mục phía
trên của menu Insert
Trong cửa sổ sẽ bao gồm rất nhiều nhóm các trường:
-Database fields: tất cả các trường dữ liệu của các đối tượng database
Thông thường các trường trong mục này sẽ được hiển thị trong phần detail của report
-Formula fields: các trường tính toán ta định ra Ví dụ khi làm một
report báo cáo hóa đơn bán hàng, giả sử database chỉ lưu trữ giá và số lượng của mặt hàng mua trong hóa đơn mà không lưu trữ thành tiền, khi đó ta có thể tạo một Formula field thành tiền được tính bằng công thức:
Thành tiền = Giá * Số lượng Khi đó ta có thể tạo report với cột thành tiền (mặc dù không được lưu trong database)
-Parameter fields: các trường tham số cho report Ví dụ từ VB, ta gọi
report và truyền vào tên người báo cáo thì tên sẽ được hiển thị ở report footer Để làm được điều này ta tạo một paramter field trong Crystal và khi gọi report từ VB hoặc Delphi thì truyền vào Lưu ý, khi chạy report trong
Trang 6Crystal, những trường param sẽ được hỏi giá trị, ta cần nhập vào ngay trong Crystal để hiển thị tạm thời
-Special fields: các trường đặt biệt cĩ sẵn của Crystal như số trang,
trang thứ mấy, ngày hiện tại… Thơng thường những trường này sẽ được hiển thị trong những phần header, footer
Các thao tác cơ bản
1 Hiển thị các trường dữ liệu lên report
Để hiển thị trường dữ liệu, drag một trường dữ liệu từ Field Explorer xuống
vùng tương ứng của report Ví dụ : drag một trường từ database field xuống
phần details của report rồi view, sẽ thấy dữ liệu của report được liệt kê ra
2 View nội dung của report
Nhấn nút (Refresh – F5) trên toolbar, nội dung report sẽ hiển thị bên tab preview Từ đây trở đi, ta cĩ thể chuyển qua lại giữa tab design và tab
preview
Các format
Suppress và Suppress If Duplicated
Suppress : Hiển thị đối tượng hay khơng
Suppress If Duplicated : Khơng hiển thị đối tượng khi cĩ sự trùng lặp
Tips
-Muốn điều chỉnh độ dịch chuyển các control trong report cho tinh thì nhấp phím
phải lên vùng chính của report, bỏ option “Snap to grid” đi
- Đối với Formula Field: Khi tính tốn thì những field nào cĩ tham gia vào phép tốn thì field đĩ trước hết phải được Insert vào Report
Group
Dùng group để gom nhóm report thành từng phần VD: Xuất các đơn đặt hàng ta thường có nhu cầu gom nhóm thành từng đơn đặt hàng (bao gồm các chi tiết) như sau:
Đơn đặt hàng 1
Chi tiết 1
Chi tiết 2
Đơn đặt hàng 2
Chi tiết 1
Chi tiết 2
Chi tiết 3
1 Chèn thêm group
-Chọn nút có hình trên toolbar phía dưới hoặc menu Insert \ Group để insert một group mới (group by)
Trang 7-Sau khi chọn OK, report sẽ bổ sung một group mới vào gồm có group header và group footer và có sẵn một textbox hiển thị trường group trên group header
2 Sửa đổi group
-Chọn menu Report \ Change Group Expert để sửa đổi các group như thứ tự lồng nhau của các group, trường cần group của các group
3 Delete group
-Click phím phải vào Group header hoặc Group footer ở lề trái cùng của cửa sổ design và chọn Delete group
Trang trí
- Dùng Insert\Line để tạo đường kẻ dọc hoặc ngang
- Dùng Insert\Picture để chèn hình VD như logo của cơng ty
Hướng dẫn và ví dụ
- C:\Program Files\Seagate Software\Crystal Reports\ với C:\Progam Files là thư mục cài đặt
Cách kết nối VB với Crystal Report
Trang 8Chọn component Crystal Report Control trong Project Æ Components (Ctrl – T)
Drag component Crystal Report Control vào form và thực hiện kết nối, hiển thị tương tự đoạn code sau
rptTheNhanSoHuu.Connect = "DSN = " & Server & "; UID = " & UserName & ";PWD = " & Password & ";DSQ = " & DBName
rptTheNhanSoHuu.ReportFileName = App.Path +
"rptTheNhanSoHuuVoDanhChoBachTuyet.rpt"
rptTheNhanSoHuu.RetrieveStoredProcParams
rptTheNhanSoHuu.StoredProcParam(0) = 1
rptTheNhanSoHuu.WindowState = crptMaximized
rptTheNhanSoHuu.PrintReport
rptTheNhanSoHuu.PrinterSelect