Định lại dữ liệu cho báo biểu từ nguồn CSDL

Một phần của tài liệu TÀI LIỆU HƯỚNG DẪN VISUAL BASIC (Trang 173 - 175)

Trong mơ hình Pull đã đề cập ở trên, khi khai báo nguồn dữ liệu trong thiết kế, chúng ta phải chỉ rõ

nguồn dữ liệu (đường dẫn của tập tin mdb hay thơng tin đăng nhập trong SQL Server). Vì thế, lúc thực thi, cần định lại thơng tin nguồn CSDL.

Trước hết cần làm quen với một số đối tượng trong CrystalDecisions.CrystalReports.Engine:

Các đối tượng trong CrystalDecisions.CrystalReports.Engine

Tên Mơ tả

Database Nguồn CSDL sử dụng cho báo biểu.

Table Thơng qua chỉ số, tên trả về bảng tương ứng được sử dụng trong báo biểu. Tables Tập hợp các bảng sử dụng trên báo biểu.

Báo biểu cĩ thành phần Database cho biết nguồn dữ liệu hiển thị. Khi vị trí nguồn thay đổi, chúng ta phải định lại vị trí nguồn mới cho báo biểu thơng qua thơng tin đăng nhập của Table, thuộc tập hợp

Tables của Database.

Thơng tin đăng nhập thuộc lớp TableLogOnInfo trong khơng gian tên CrystalDecisions.Shared.TableLogOnInfo với các thơng tin:

Tên Mơ tả

ConnectionInfo Đối tượng chứa thơng tin kết nối của bảng.

DatabaseName Tên tập tin CSDL.

Password Mật khẩu truy cập nguồn CSDL ServerName Tên server hoặc nguồn dữ liệu ODBC. UserID Tên người dùng để truy cập CSDL.

Thơng tin TableLogOnInfo của bảng cĩ tính chỉ đọc và mặc định lưu giữ thơng tin kết nối lúc chúng ta khai báo nguồn để thiết kế báo biểu. Khi thay đổi và muốn cập nhật lại, chúng ta phải sử dụng phương thức ApplyLogOnInfo của đối tượng Table với tham số là TableLogOnInfo chúng ta đã thay đổi.

Ví dụ: Minh họa khi nguồn dữ liệu là MS Access

Dim f As New Form()

' CReportVD là báo biểu đã tạo lúc thiết kế Dim rpt As New CreportVD()

Dim cv As New CrystalDecisions.Windows.Forms.CrystalReportViewer() f.Controls.Add(cv)

cv.Dock = DockStyle.Fill

Dim logOnInfo As CrystalDecisions.Shared.TableLogOnInfo

' Nếu các Table cùng từ một nguồn dữ liệu, chỉ cần định lại cho một bảng là đủ logOnInfo = rpt.Database.Tables(0).LogOnInfo logOnInfo.ConnectionInfo.ServerName = <đường dẫn đến .mdb> rpt.Database.Tables(0).ApplyLogOnInfo(logOnInfo) cv.ReportSource = rpt f.ShowDialog()

Ví dụ: Minh họa khi nguồn dữ liệu là SQL Server

Dim f As New Form()

' CReportVD là báo biểu đã tạo lúc thiết kế Dim rpt As New CreportVD()

Dim cv As New CrystalDecisions.Windows.Forms.CrystalReportViewer() f.Controls.Add(cv)

cv.Dock = DockStyle.Fill

Dim logOnInfo As CrystalDecisions.Shared.TableLogOnInfo

' Nếu các Table cùng từ một nguồn dữ liệu, chỉ cần định lại cho một bảng là đủ

logOnInfo = rpt.Database.Tables(0).LogOnInfo

logOnInfo.ConnectionInfo.ServerName = <Tên server> logOnInfo.ConnectionInfo.DatabaseName = <Tên CSDL> logOnInfo.ConnectionInfo.UserID = <Người dùng> logOnInfo.ConnectionInfo.Password = <Mật khẩu>

rpt.Database.Tables(0).ApplyLogOnInfo(logOnInfo) cv.ReportSource = rpt

f.ShowDialog()

Một phần của tài liệu TÀI LIỆU HƯỚNG DẪN VISUAL BASIC (Trang 173 - 175)

Tải bản đầy đủ (PDF)

(188 trang)