LẬP BÁO CÁO
HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU II
Phan Hiền
BỐ CỤC BÁO CÁO
Report Header
Detail
Page Header
Page Footer
BỐ CỤC BÁO CÁO
Report Footer
BỐ CỤC BÁO CÁO
Group Header
Detail
Group Footer
KIẾN TRÚC SỬ DỤNG BÁO CÁO
Cấu trúc dữ liệu XML
Phần mềm thiết kế Báo Cáo
Ứng dụng sử dụng báo cáo
Tạo ra kết quả tập tin báo cáo Sử dụng
Dữ Liệu
Sao ra bản khác
Có thể chứa trong đó dữ liệu
Dữ liệu riê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)
Báo cáo Báo cáo
THIẾT KẾ BÁO CÁO – TỪ DỮ LIỆU
THIẾT KẾ BÁO CÁO – TỪ DỮ LIỆU
THIẾT KẾ BÁO CÁO – TỪ DỮ LIỆU – CHỌN KẾT NỐI
THIẾT KẾ BÁO CÁO – TỪ DỮ LIỆU – CHỌN KẾT NỐI
THIẾ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
THIẾT KẾ BÁO CÁO
THIẾT KẾ BÁO CÁO
THIẾ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
SỬ 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.
LỆ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;
THAM 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)
THAM 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 đó
Phép toán
Mệnh đề điều kiện
LỆ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;
CHÚ Ý
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
sku=".NETFramework,Version=v4.0"/>
Trong project phải using
using CrystalDecisions.Shared; using CrystalDecisions.CrystalReports; using CrystalDecisions.CrystalReports.Engine;