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;