Bài giảng Hệ quản trị cơ sở dữ liệu II: Lập báo cáo do Phan Hiền biên soạn bao gồm những nội dung về bố cục báo cáo; kiến trúc sử dụng báo cáo; thiết kế báo cáo từ dữ liệu; thiết kế báo cáo từ cấu trúc XML; sử dụng báo cáo từ cấu trúc XML; lệnh sử dụng Crystal Report;... Mời các bạn tham khảo.
Trang 1HỆ QUẢN TRỊ
CƠ SỞ DỮ LIỆU II
Phan Hiền
LẬP BÁO CÁO
Trang 2BỐ CỤC BÁO CÁO
Report Header
Page Header
Detail
Page Footer
Trang 3BỐ CỤC BÁO CÁO
Report Footer
Trang 4BỐ CỤC BÁO CÁO
Group Header
Group Footer
Detail
Trang 5KIẾN TRÚC SỬ DỤNG BÁO CÁO
Ứng dụng sử
dụng báo
cáo
Phần mềm thiết kế Báo Cáo
Dữ Liệu
Tạo ra kết quả tập tin báo cáo
Báo cáo
Sao ra bản khác
Báo cáo
Sử dụng
Sử dụng Dử liệu có sẳn trong Báo Cáo (Dữ liệu có từ lúc thiết kế báo cáo)
Dữ liệu
riêng
Cấu trúc dữ liệu XML
Có thể chứa trong đó dữ liệu
Trang 6THIẾT KẾ BÁO CÁO – TỪ DỮ LIỆU
Trang 7THIẾT KẾ BÁO CÁO – TỪ DỮ LIỆU
Trang 8THIẾT KẾ BÁO CÁO – TỪ DỮ LIỆU – CHỌN
KẾT NỐI
Trang 9THIẾT KẾ BÁO CÁO – TỪ DỮ LIỆU – CHỌN
KẾT NỐI
Trang 10THIẾT KẾ BÁO CÁO
Xác định mối quan hệ giữa các bảng
(Thường quan hệ này luôn được tạo sẳn từ DataBase)
Chọn các trường dữ liệu thể hiện
Chọn các trường dữ liệu để gom nhóm
Chọn các trường để tính toán tổng hợp
(Max, min, count, sum, )
Tạo ra báo cáo + chỉnh sửa lại
Trang 11THIẾT KẾ BÁO CÁO
Trang 12THIẾT KẾ BÁO CÁO
Trang 13THIẾT KẾ BÁO CÁO TỪ - CẤU TRÚC XML
Viết chương trình làm các việc sau:
Tạo kết nối dữ liệu
Đổ dữ liệu vào DataSet
Chuyển từ DataSet thành XML (WriteXmlSchema)
Tạo mới một chương trình khác:
Tạo báo cáo, chọn dữ liệu là ADO.Net
Chọn tập tin XML
Thiết kế báo cáo từ cấu trúc dữ liệu của XML
Kết quả ta có tập tin thiết kế báo cáo:
Tạo ra tập tin *.rpt
Trang 14SỬ DỤNG BÁO CÁO TỪ - CẤU TRÚC XML
Viết chương trình dùng các báo cáo
Chuẩn bị DataSet có 1 phần cấu trúc con giống như cấu trúc
dữ liệu (trong file XML tạo Report)
DataSet đó phải có dữ liệu
Hình thành đối tượng ReportDocument từ file *.rpt
Đưa dữ liệu DataSet vào trong ReportDocument
Đưa ReportDocument lên ReportViewer
Trang 15LỆNH SỬ DỤNG CRYSTAL REPORT
// Chuẩn bị dữ liệu
DataSet ds = new DataSet();
………
// Tạo đối tượng báo cáo
ReportDocument rd = new ReportDocument(); rd.Load(“tên_tập_tin_báo_cao.rpt");
// Đẩy dữ liệu vào báo cáo
rd.SetDataSource(ds);
// Đối tượng CrystalReportViewer
crystalReportViewer1.ReportSource = rd;
Trang 16THAM SỐ CHO CRYSTAL REPORT
Trong phần Parameter của Report, click phải chọn New
Đặt tên và chọn loại giá trị rời rạc hay đoạn, kiểu dữ liệu
cho tham số (ví dụ ts_makhach)
Trang 17THAM SỐ CHO CRYSTAL REPORT
Click phải vào trường dữ liệu trên thiết kế, chọn Expert
(mục đích để gán mệnh đề điều kiện của trường đó – trong mệnh đề có dùng đến tham số - ghi dạng {?tênthamsố} )
Giá trị của điều kiện cho trường đó
Mệnh đề điều kiện Phép toán
Trang 18LỆNH SỬ DỤNG CRYSTAL REPORT VỚI THAM
SỐ
DataSet ds = new DataSet();
………
ReportDocument rd = new ReportDocument(); rd.Load(“tên_tập_tin_báo_cao.rpt");
rd.SetDataSource(ds);
// gắn tham số
rd.SetParameterValue("ts_makhach", “K001”); crystalReportViewer1.ReportSource = rd;
Trang 19CHÚ Ý
VS 2010
Cài thêm SAP Crystal
Project phải chọn build Net FrameWork 4
(Không phải FW4 client)
Trong project, sửa App.config như sau
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
Trong project phải using
using CrystalDecisions.Shared;
using CrystalDecisions.CrystalReports;
using CrystalDecisions.CrystalReports.Engine;