ltql crystal report

Post on 28-Oct-2014

40 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

Hướng dẫn thực hành

Sử dụng Crystal Report

1. Thiết kế CSDL 1. Mở ứng dụng MS. Access 2. Thiết kế CSDL, đặt tên là QLHS.MDB có cấu trúc như sau:

HOCSINH STT Tên trường Kiểu dữ liệu Ghi chú

1 MaHS Text(10) PrimaryKey 2 TenHS Text(255) 3 NgaySinh Date/Time 4 DiaChi Text(255) 5 DTB Number 6 MaLop Text(10) ForeignKey (tham chiếu đến

Lop(MaLop)

LOPHOC STT Tên trường Kiểu dữ liệu Ghi chú

1 MaLop Text(10) PrimaryKey 2 TenLop Text(255) 3 GVCN Text(50)

3. Nhập dữ liệu mẫu vào cơ sở dữ liệu

a. Nhập khoảng 30 mẩu tin cho bảng HOCSINH b. Nhập khoảng 6 mẩu tin cho bảng LOP

2

2. Thiết kế report − Yêu cầu:Liệt kê danh sách tất cả các học sinh.Thông tin mỗi học sinh bao gồm: Mã học

sinh,tên học sinh,ngày sinh, địa chỉ và tên lớp. − Crystal Report là công cụ dùng để tạo báo biểu được tích hợp vào trong Visual Studio .NET. − Các bước thực hiện:

1. Tạo file report mới với tên là rptDanhsachHocsinh.rpt

2. Chọn kiểu report

3

3. Tiến hành thiết kế report: - Thêm vào dòng tiêu đề của report(Insert Text object)

-Đặt tiêu đề như hình(Thiết lập thông qua của sổ Properties hay Popup menu)

4. Tiến hành kết nối CSDL: 1.Chọn menu Add/Remove Database

4

2. Chọn OLE DB(ADO)

3. Chọn Microsoft Jet 4.0 OLE DB Provider

5

4.Chọn file dữ liệu:

5.Chọn Finish

6

5. Lấy dữ liệu thông qua câu lệnh truy vấn. -Double Click vào menu Add Command

-Nhấn OK

6. Nhấn OK

7

7. Nắm và kéo các field vào report như hình sau:

8

3. Thiết kế form 1. Lưu report.Thiết kế Form1 như hình sau:

2. Viết hàm xử lý sự kiện của button Show Report:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim rpt As New rptDanhsachHocsinh CrystalReportViewer1.ReportSource = rpt

End Sub 3. Dịch và chạy thử chương trình. 4. Hoàn chỉnh report: - Đánh số từng trang report(Insert->Special Fields-> Page N of M) - Tạo Fomula Field : SoHocSinh

CrystalReport Viewer

9

4. Report nâng cao 1. Thêm Formula Fields: để có thể sử dụng những công thức cho những trường như

count, sum, avg…

10

-Đánh số thứ tự cho từng mẫu tin(Insert->Special Fields->RecordNumber) -Hiệu chỉnh report như hình sau:

11

2. Một cách thay đổi nguồn dữ liệu: Với report hiện có dữ liệu được lấy từ một nguồn cố định(F:\qlhs.mdb).Nếu đem report chạy ở một hệ thống khác,chúng ta phải xác định lại nguồn dữ liệu cho report.Chúng ta sẽ tiến hành sửa đoạn code hiển thị report lại như sau:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim rpt As New rptDanhsachHocsinh Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo For Each tbCurrent In rpt.Database.Tables tliCurrent = tbCurrent.LogOnInfo With tliCurrent.ConnectionInfo .ServerName = Application.StartupPath + "\qlhs.mdb" '.UserID = "" '.Password = "" '.DatabaseName = "" End With tbCurrent.ApplyLogOnInfo(tliCurrent) Next tbCurrent CrystalReportViewer1.ReportSource = rpt End Sub Đoạn code trên cho phép thay đổi thông tin kết nối dữ liệu của các bảng có trong report.Nếu làm việc với SQLServer thì cần xác định thêm UserID,Password và DatabaseName(Ví dụ: Northwind).

12

3. Làm việc với các tham số của report: -Tạo tham số cho report

-Xác định tên và kiểu của tham số

13

-Thiết kế report lại như hình sau:

- Thực hiện gán giá trị cho tham số rồi hiển thị report Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim rpt As New rptDanhsachHocsinh Dim tbCurrent As CrystalDecisions.CrystalReports.Engine.Table Dim tliCurrent As CrystalDecisions.Shared.TableLogOnInfo For Each tbCurrent In rpt.Database.Tables tliCurrent = tbCurrent.LogOnInfo With tliCurrent.ConnectionInfo .ServerName = Application.StartupPath + "\qlhs.mdb" '.UserID = "" '.Password = "" '.DatabaseName = "" End With tbCurrent.ApplyLogOnInfo(tliCurrent) Next tbCurrent rpt.SetParameterValue("Reporter", "Lê Văn A")’Gán giá trị cho tham số CrystalReportViewer1.ReportSource = rpt

End Sub

14

-Chạy lại chương trình cho kết quả như sau:

top related