Giáo trình Visual Basic

Tóm tắt Giáo trình Visual Basic: ...II.1 Điều khiển danh sách các lựa chọn (List Box) II.1.1. Khái niệm: Điều khiển này hiển thị một danh sách các đề mục mà ở đó người dùng có thể chọn lựa một hoặc nhiều đề mục Biểu tượng (Shortcut) trên hộp công cụ Điều khiển này hiển thị một danh sách các đề mục mà ở đó người dùng có thể... Trang 79 Visual Basic Qua ví dụ trên ta thấy phương thức PaintPicture cho phép sao chép nhanh một ảnh nguồn trên các đối tượng khác . Hình VI.16 Phương thức PaintPicture Phương thức PSet Phương thức này thao tác trên từng điểm và có công dụng gán một màu nào đó cho một điểm trên đối... cùng một lúc (lỗi thực thi xảy ra). dbPessimistic Khóa trang bi quan trong môi trường đa người dùng. Trang chứa mẩu tin đang sửa đổi sẽ bị khóa lại khi phương thức Edit được thực thi (mặc định đối với JET). dbOptimistic Khóa trang lạc quan trong môi trường đa người dùng. Trang chứa mẩu ...

pdf158 trang | Chia sẻ: havih72 | Lượt xem: 170 | Lượt tải: 0download
Nội dung tài liệu Giáo trình Visual Basic, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Designers. ActiveX Designers được nạp vào môi trường soạn thảo VB cũng như các 
mục khác như Menu, Form, Modul Tuy nhiên cách thức để thao tác trên nó khác với 
các mục này. Khi thao tác với DED ta sử dụng các mục trên menu của trình soạn thảo 
DED để xây dựng một tập hoàn chỉnh các kết nối (Connection) & các lệnh dữ liệu 
(Command) để sử dụng trong chương trình. 
 Trong lúc thao tác với DED, ta có sử dụng 2 đối tượng khác nhau: 
 Đối tượng kết nối dữ liệu (Connection): đối tượng này định nghĩa một 
kết nối giữa chương trình của ta & nguồn dữ liệu. 
 Đối tượng lệnh dữ liệu (Command): định nghĩa một tập các record lấy 
ra từ kết nối dữ liệu trên. 
Khi xác định đối tượng Command, ta cần chỉ định đối tượng Command 
này lấy dữ liệu từ đâu trong cơ sở dữ liệu bằng việc xác lập nguồn dữ liệu (Data of 
Source). Nguồn dữ liệu này xác lập cách thức lấy dữ liệu từ cơ sở dữ liệu: lấy thông 
qua một TABLE, VIEW, STORED PROCEDURE, SQL 
Mỗi khi một đối tượng Command được tạo ra & được gọi thực thi, một 
RecordSet của đối tượng Command này cũng được kích hoạt. Lúc này tên của 
RecordSet tương ứng là: 
rs + Tên Command 
 Ví dụ: Ta tạo một đối tượng Command có tên là comHH, lúc đó tên 
RecordSet tương ứng là: rscomHH. 
 Khi đối tượng Command được tạo ra, lúc này nếu muốn thao tác trên đối 
tượng Command này, ta sẽ thao tác trên RecordSet tương ứng của nó. 
 Thiết kế các Form ràng buộc dữ liệu không cần mã lệnh: 
 DED cho phép ta thiết kế các Form ràng buộc dữ liệu không cần mã lệnh. 
 Ví dụ: Với CSDL HangHoa.MDB; ta thiết kế một Form cho Table 
HANGHOA bằng cách sử dụng trình DED như sau: 
 Bước 1: Tạo nối kết đến cơ sở dữ liệu HangHoa.MDB: 
Nếu mục Data Environment không có sẵn trong Project Explorer, ta 
chọn Project\Components, đánh dấu vào mục Data Environment trong 
tùy chọn Designers, nhấp OK. Chọn Project\More ActiveX Designers để 
thêm Data Environment vào môi trường soạn thảo. 
Trong đối tượng Connection1, chọn Properties, một cửa sổ hiện lên: 
Trang 140 
Visual Basic 
Hình 12.1: Thiết lập nối kết dữ liệu 
 Chọn Microsoft Jet 4.0 OLE DB Provider; chọn Next. Chọn cơ sở 
dữ liệu ta muốn thao tác trong mục Select or Enter a Database Name Box; ở đây ta 
chọn CSDL HANGHOA.MDB (giả sử nằm trong đường dẫn D:\DED\HangHoa.Mdb). 
Nhấp nút Test Connection để kiểm tra nối kết với CSDL có bị lỗi hay không? Ta sẽ 
nhấp OK nếu nối kết này thành công (nếu không ta phải kiểm tra lại). 
 Bước 2: Thêm đối tượng Command vào DED: 
Nhấp chuột phải vào Connection1 và chọn ADD COMMAND trên 
menu, một đối tượng command được tạo ra với tên là Command1 trong Data 
Environment. Nhấp chuột phải vào đối tượng mới tạo này, chọn Properties để chọn 
cách thức thao tác đối với đối tượng Command này. 
Trong đó, mục Database Object: Table; ObjectName: 
THANGHOA. 
 Bước 3: DED cho phép ta kéo một tập các trường (Field) từ một đối 
tượng dữ liệu trong DED vào 1 Form chuẩn trong Windows và thả nó tại một nơi nào 
đó. 
Trang 141 
Visual Basic 
 Hình 12.2: Dùng DED tạo Form ràng buộc dữ liệu 
 Bước 4: Lúc này khi chạy chương trình, ta thấy Form này đã hoạt 
động; tuy nhiên ta không thể thấy các nút nhấn điều khiển việc di chuyển các record 
(Đầu, Cuối, Trước, Sau); hay các nút nhấn hành động (Cập nhật, Thêm, Xóa); ta cần tự 
bổ sung. 
 Các thuận lợi của DED: 
 Xây dựng các Form ràng buộc dữ liệu cách dễ dàng. 
 Có nhiều tùy chọn để định nghĩa kết nối và các lệnh dữ liệu. 
 Ta có một giao diện thân thiện hơn để thao tác các kết nối & lệnh. 
 DED sử dụng ActiveX Data Objects (ADO) để truy cập dữ liệu. 
II) SỬ DỤNG TRÌNH DATA ENVIRONMENT 
DESIGNER 
Quá trình xây dựng một chương trình thao tác CSDL với VB thông qua DED 
bao gồm 3 bước: 
- Chọn một trình cung cấp dữ liệu (ODBC hay OLE DB). 
- Tạo một kết nối dữ liệu (file MDB, SQL Server) 
- Tạo một lệnh dữ liệu (đối tượng Command). 
Trang 142 
Visual Basic 
1) Các trình cung cấp dữ liệu (Data Provider) 
- Data Provider là một thành phần điều khiển sự tương tác của chương trình của 
ta & nguồn dữ liệu. Một trình cung cấp rất quen thuộc là trình cung cấp ODBC (Open 
Database Connectivity: kết nối cơ sở dữ liệu mở). Giao diện này dựa trên ý tưởng là 
mọi nguồn dữ liệu có thể được thao tác với ngôn ngữ SQL. 
- Một giao diện mới được đưa ra bởi Microsoft: giao diện OLE DB. Giao diện 
này không yêu cầu nguồn dữ liệu phải nhắm vào việc sử dụng ngôn ngữ truy vấn SQL; 
thay vào đó, giao diện OLE DB cho phép trình cung cấp dữ liệu chấp nhận ngôn ngữ 
truy vấn nào mà họ muốn hỗ trợ. Do vậy các nguồn dữ liệu được mở rộng ra từ các 
CSDL truyền thống: dBase, SQL Server; đến các nguồn dữ liệu khác như các tập tin, 
thư mục của hệ điều hành 
- VB 6 gửi kèm với các trình cung cấp dữ liệu như sau: 
9 Microsoft Jet 3.51 OLE DB Provider. 
9 Microsoft Jet 4.0 OLE DB Provider. 
9 Microsoft OLE DB Provider for SQL Server. 
9 Microsoft OLE DB Provider for Oracle. 
9 Microsoft OLE DB Provider for ODBC Drivers. 
2) Tạo một kết nối dữ liệu với DED 
o Tạo một dự án mới; bổ sung Data Enviroment vào dự án của ta nhờ chọn 
Project/Add Data Environment. Khi lựa chọn mục này, môi trường DED sẽ hiển thị; sử 
dụng cửa sổ Properties để thiết lập thuộc tính Name là: datHH. Ở đây, ta sẽ sử dụng 
DED để kết nối với CSDL HANGHOA.MDB. 
o Sửa lại thuộc tính Name của Connection1 là conHH; sau đó chuột phải lên 
conHH, chọn Properties. 
Ở hộp thoại đầu tiên, ta phải chọn một trình cung cấp dữ liệu, ở đây chọn 
Microsoft Jet 4.0 OLE DB Provider, nhấn Next để tiếp tục. 
Tiếp theo ta cần nhập chính xác đường dẫn đến tập tin CSDL, chẳng hạn 
ở đây là: H:\Visual Basic\HangHoa.Mdb. 
Cuối cùng, nhấn nút Test Connection để kiểm tra việc nối kết dữ liệu 
chính xác hay không? 
Trang 143 
Visual Basic 
Hình 12.3: Đối tượng Connection 
3) Tạo đối tượng Command: 
o Xây dựng một đối tượng Command kết nối trực tiếp với Table (bảng) 
THANGHOA trong file dữ liệu HangHoa.mdb. 
o Nhấp chuột phải trên kết nối dữ liệu conHH & chọn Add Command; sửa 
Command Name là: comHH; chọn Table từ Combo Box Database Object, chọn 
THANGHOA từ Combo Box Object Name. 
o Trước khi đóng hộp thoại này, ta chuyển qua nhãn Advanced & thiết lập 
LockType là 3 – Optimistic (mặc nhiên là 1 – Read Only); Cursor Location: Use 
client-side cursor. Nhờ vậy ta mới có thể cập nhật Record Set từ chương trình của ta. 
o Trở lại giao diện DED, ta được: 
 Hình 12.4: Đối tượng Command 
Trang 144 
Visual Basic 
4) Tạo một ứng dụng nhập liệu với DED 
o Ở môi trường DED, ta kéo các trường của Command comHH vào Form1, 
chỉnh sửa lại cho thích hợp. 
o Ở đây ta có sử dụng một lưới để hiển thị dữ liệu; do vậy ta chọn 
Project\Component; chọn Microsoft DataGrid Control 6.0 (OLE DB); sau đó kéo điều 
khiển này vào Form, thiết lập các thuộc tính cho thích hợp. 
Name: grdHH. 
DataSource: datHH 
DataMember: comHH 
o Nhấp chuột phải lên điều khiển DataGrid, chọn Retrieve Structure. Sau đó, 
lưu dự án & chạy chương trình ta được: 
Hình 12.5: Form hiển thị table THangHoa 
o Thêm các nút hành động (Thêm, Sửa, Xóa,). Chẳng hạn các sự kiện 
cmd_Them_Click, cmdXoa_Click, cmdLuu_Click, cmdHuy_Click được xử lý: 
Trang 145 
Visual Basic 
 Hình 12.6: Form nhập hoàn chỉnh cho table THangHoa 
Private Sub cmdThem_Click() 
 With datHH.rscomHH 
 .AddNew 
 End With 
End Sub 
Private Sub cmdXoa_Click() 
 With datHH.rscomHH 
 .Delete 
 .Update 
 Me.Refresh 
 End With 
End Sub 
Private Sub cmdHuy_Click() 
 With datHH.rscomHH 
 .CancelUpdate 
 Me.Refresh 
 End With 
End Sub 
Private Sub cmdLuu_Click() 
 On Error GoTo Xuly 
 With datHH.rscomHH 
 .Update 
 End With 
 Me.Refresh 
Trang 146 
Visual Basic 
 Exit Sub 
Xuly: 
 MsgBox Err.Description, vbCritical + vbSystemModal, 
"Error" 
End Sub 
Như vậy, ta đã thiết kế xong một Form cho phép hiển thị thông tin các hàng hóa, 
Form này cho phép sửa đổi, thêm mới các mẩu tin trong bảng THANGHOA của 
CSDL HANGHOA.MDB. 
5) Đối tượng Command sử dụng câu lệnh SQL 
o Ta có thể thiết kế các câu lệnh SQL cách nhanh chóng nhờ sử dụng trình SQL 
Builder. 
o Với trình DataEnvironment trên, ta thêm một đối tượng Command nữa; 
nhưng đối tượng Command này lấy dữ liệu từ câu lệnh SQL. Ở đây, ta cần hiển thị 
thông tin về các loại hàng hóa & tên loại hàng tương ứng. 
o Sau khi thêm một đối tượng Command vào, ta sửa các thuộc tính như sau: 
Name: comHH_Loai 
Source of Data : SQL Statement. 
o Sau đó chọn SQL Builder trong cửa sổ thuộc tính; một cửa sổ hiện ra. Kéo 
bảng THangHoa & TLoaiHang trong cửa sổ DataView vào khung Diagram của trình 
SQL Builder. Check chọn các trường tương ứng (MaHang, TenHang, DVTinh, 
TenLoai). Ta được kết quả sau (hình dưới). 
o Đóng cửa sổ này lại; ta được một đối tượng Command mới. 
Trang 147 
Visual Basic 
Diagram 
SQL 
Hình 12.7: Cửa sổ SQL Builder 
Trang 148 
Visual Basic 
Chương 13: THIẾT LẬP BÁO CÁO 
Mục tiêu: 
 Chương này giới thiệu cách thức để tạo báo cáo bao gồm hiển thị dữ 
liệu cũng như sắp xếp và phân nhóm dữ liệu. 
Học xong chương này, sinh viên có thể: 
o Sử dụng tính năng Report của Microsoft Access trong các ứng dụng 
nhỏ. 
o Sử dụng Data Report để tạo báo biểu. 
o Sử dụng Crystal Report, công cụ mạnh để tạo báo biểu. 
Kiến thức cần thiết: 
- Thư viện đối tượng ActiveX Data Objects (ADO). 
- Môi trường dữ liệu Data Environment. 
Tài liệu tham khảo: 
 Visual Basic 6.0 và Lập trình cơ sở dữ liệu - Chương 21, trang 637 - 
Nguyễn Thị Ngọc Mai (chủ biên) – Nhà xuất bản Giáo dục - 2001. 
Trang 149 
Visual Basic 
I. SỬ DỤNG MICROSOFT ACCESS ĐỂ LẬP BÁO CÁO 
Có hai kỹ thuật để thi hành một báo cáo Access từ ứng dụng VB: 
- Sử dụng Automation để phóng một thể hiện (instance) của Microsoft Access, thi 
hành báo cáo trực tiếp từ trong ứng dụng. Automation là một kỹ thuật cho phép giao 
tiếp giữa các ứng dụng trên Windows. Ở đây Microsoft Access sẽ làm Automation 
Server. 
- Dùng VSREPORTS của VideoSoft cho phép người sử dụng VB thi hành báo cáo 
của Microsoft Access bất kể máy của họ có cài đặt Microsoft Access hay là không. 
Đây là một điều khiển ActiveX chuyển đổi báo cáo từ tập tin MDB thành một định 
dạng mà ta có thể cung cấp cùng ứng dụng. 
Trong bài giảng này, chúng tôi chỉ trình bày cách thứ nhất mặc dù cách này có 
nhiều hạn chế. Đối với cách thứ hai, để có thể thực hiện được ta cần phải cài đặt một 
số thư viện liên kết động (DLL). Các thư viện này tương đối khó tìm và nhất là chúng 
đòi hỏi bản quyền. 
Bất lợi của kỹ thuật dùng Automation là buộc người dùng phải chạy một thể hiện 
(instance) của Microsoft Access cũng như phải cài đặt Microsoft Access trên máy. Để 
lập trình theo kỹ thuật này, ta tiến hành theo các bước sau: 
- Tham chiếu đến Microsoft Access bằng cách từ menu Project chọn 
Preferences -> Microsoft Access 9.0 Object Library. 
- Sau đó ta tạo một đối tượng như là đối tượng ứng dụng của Access như 
sau: 
 Dim MSAccess As Access.Application 
- Sau đó ta cần tạo mới đối tượng này cũng như tạo một tham 
chiếu đến cơ sở dữ liệu chứa báo cáo: 
 Set MSAccess = New Access.Application 
 MSAccess.OpenCurrentDatabase(“Database Name”) 
- Sử dụng thuộc tính DoCmd để thi hành báo cáo: 
 MSAccess.DoCmd.OpenReport "Report Name",acViewNormal 
- Đóng cơ sở dữ liệu: 
 MSAccess.CloseCurrentDatabase 
 Lưu ý: Tránh dùng ràng buộc trễ với Automation 
 Phiên bản cũ của Automation là OLE Automation, dùng trong VB 3.0 và 
Microsoft Access 2.0. 
 Trong VB 3.0, ta có thể viết chương trình như sau: 
 Dim MSAccess As Object 
 Set MSAccess = CreateObject(“Access.Application”) 
 Đoạn chương trình trên hoạt động tốt đối với VB 3.0 nhưng có một cách 
khác tốt hơn. Thay vì dùng kiểu Object, ta nên chỉ rõ kiểu dữ liệu đối tượng 
mà Automation Server cung cấp (chẳng hạn Access.Aplication nếu là Access). 
Bởi vì khi đó, VB không cần thi hành câu truy vấn trên Automation Server mỗi 
Trang 150 
Visual Basic 
khi ta truy cập nó để xác định kiểu đối tượng cần tạo. Kỹ thuật này gọi là ràng 
buộc trễ, giờ đây chỉ phủ hợp với 2 tình huống: 
- Ta không biết trước kiểu đối tượng Automation Server. 
- Ta đang sử dụng một môi trường phát triển ứng dụng không hỗ 
trợ ràng buộc sớm, như VBScript hay ASP. 
II. SỬ DỤNG THIẾT KẾ DATA REPORT 
Thiết kế báo cáo dùng DataReport là điểm mới trong VB6, đây là một công cụ 
được hỗ trợ bởi VB6, cung cấp một cách trực quan về thiết kế báo cáo và có ưu diểm 
là rất dễ dùng. 
II.1 Thiết kế với DataReport 
- Chọn Project -> Components. 
- Chọn Tab Designers, đánh dấu chọn Data Report. 
 Hình 13.1 Đưa thiết kế báo cáo về đề án 
Các thành phần của một báo cáo như sau: 
- Report Header: Hiển thị một lần ở đầu báo cáo. 
- Report Footer: Hiển thị một lần ở cuối báo cáo. 
- Page Header: Hiển thị tại đầu mỗi trang. 
- Page Footer: Hiển thị tại cuối mỗi trang. 
- Detail Section: Hiển thị các dòng dữ liệu. 
 - Một hoặc nhiều nhóm đầu cuối hiển thị tại đầu và cuối mỗi phân nhóm. 
Các điều khiển của thiết kế Data Report như sau: 
- Điều khiển nhãn (Rpt Label). 
- Điều khiển hộp văn bản (Rpt Textbox). 
- Điều khiển ảnh (Rpt Image). 
- Điều khiển hình dạng (Rpt Shape). 
Trang 151 
Visual Basic 
 - Điều khiển các hàm tính toán (Report Function: rptFuncSum, rptFuncAve, 
rptFuncMin, rptFuncMax). 
Hình 13.2 Cửa sổ Data Report 
 Các điều khiển của Data Report cũng giống như là các điều khiển chuẩn trên 
biểu mẫu, chúng có thể ràng buộc với nguồn dữ liệu. Tuy nhiên, ta có một cách thức 
khác dễ dàng hơn đó là sử dụng môi trường dữ liệu (được giới thiệu ở chương trước). 
Sử dụng DataEnvironment trong việc tạo DataReport: 
 Quá trình thực hiện trải qua các bước sau: 
- Tạo đối tượng Command. 
 - Kéo thả các trường của đối tượng Command này vào thiết kế của Report. 
 - Thêm các tiêu đề đầu trang & cuối trang. 
Ví dụ: Tạo báo cáo về các sinh viên trong bảng STUDENT thuộc cơ sở dữ liệu 
Student. 
- Bước 1: Tạo một nối kết đến 
CSDL Student trong trình Data 
Environment, thêm một đối tượng 
Command cho phép lấy dữ liệu từ bảng 
Student. 
- Bước 2: Kéo thả các trường cần 
hiển thị vào báo cáo tại mục Detail, chỉ 
giữ lại trường liên quan đến thông tin dữ 
liệu (đặt trong phần Detail Section). Thiết 
Trang 152 
Hình 13.3 Thiết lập Data Environment 
Visual Basic 
lập tên trường dưới dạng tiếng Việt tại phần Page Header. 
 - Bước 3: Cung cấp các thông tin cho phép DataReport nhận dữ liệu từ đâu bằng 
cách xác lập: DataSource: DataEnvironment1, DataMember: Student. 
Hình 13.4: Report khi đã kéo thả các trường 
 Thiết kế báo biểu có phân nhóm dữ liệu 
- Chọn đối tượng Command của trình DataEnvironment cần nhóm cơ sở dữ 
liệu. 
- Hiển thị trang thuộc tính, chọn Tab 
Grouping. 
- Chọn tùy chọn Group Command 
Object. 
- Đặt tên cho nhóm cũng như chọn các 
trường tham gia vào nhóm dữ liệu. 
- Đặt lại giá trị cho thuộc tính Data 
Member chỉ đến nối kết mới đã nhóm dữ 
liệu. 
- Chọn báo cáo thiết kế, ấn chuột phải, 
chọn Insert Group Header/Footer. 
 - Chọn tên trường nhóm dữ liệu đưa 
vào đoạn Group Header. 
 Khi đó báo cáo được thiết kế như sau: 
Trang 153 
Hình 13.4: Nhóm dữ liệu 
Visual Basic 
II.2 Xem và xuất Data Report 
Ta có thể xem thông tin và in báo cáo trên một cửa sổ riêng biệt sử dụng chế độ 
Print Preview bằng cách thi hành phương thức Show. 
Khi đó báo cáo sẽ được hiển thị như sau: 
 Hình 13.6: Thi hành 
báo cáo trong VB 
Khi đó người sử dụng có thể duyệt qua các trang nếu như báo cáo có nhiều trang, 
cũng như chọn một trang báo cáo nào đó để in. 
Ngoài ra người dùng có thể chọn Export báo cáo của mình ra tập tin có định dạng 
khác, các loại định dạng ở đây có thể là tập tin văn bản, tập tin HTML. Ta có thể chọn 
lựa xuất một số trang cụ thể nào đó hoặc toàn bộ báo cáo. 
 Hình 13.7: Hộp thoại xuất báo cáo 
Trang 154 
Visual Basic 
III. SỬ DỤNG CRYSTAL REPORT ĐỂ LẬP BÁO CÁO 
Crystal Report cho phép tạo báo cáo cơ sở dữ liệu trong ứng dụng viết bằng VB. 
Nó gồm 2 phần chủ yếu: 
- Trình thiết kế báo cáo xác định dữ liệu sẽ đưa vào báo cáo và cách thể 
hiện của báo cáo. 
- Một điều khiển ActiveX cho phép thi hành, hiển thị, điều khiển và in báo 
cáo khi thi hành ứng dụng. 
Crystal Report không có sẵn khi cài VB6, ta cần cài đặt thêm. Chương trình cài đặt 
Crystal Report chỉ có trên bản Professional. Chạy tập tin Crystl32.exe trong thư mục 
\COMMON\TOOLS\VB\CRYSREPT. 
III.1 Thiết kế báo cáo 
Một điểm khác biệt khi dùng Crystal Report là ta không thiết lập báo cáo đi đôi với 
ứng dụng cụ thể. Ta sẽ xây dựng báo cáo trước và sau đó sẽ gọi thi hành báo cáo từ 
phía ứng dụng, báo cáo không phải là một bộ phận thuộc ứng dụng. Cửa sổ thiết kế 
Crystal Report như hình bên dưới: 
Hình 13.8 Cửa sổ Crystal Report 
Khi ta chọn tạo một báo cáo mới, Crystal Report trình bày một hộp thoại cho 
phép lựa chọn một trong nhiều những khuôn mẫu báo cáo đã định sẵn. 
 Hình 13.9 Hộp thoại chọn các mẫu 
Trang 155 
Visual Basic 
Kiểu báo cáo 
Mô tả 
Standard Báo cáo sắp xếp thông tin theo dòng và cột, cho phép nhóm 
dữ liệu. 
Listing Báo cáo là danh sách dữ liệu liên tục không có tổng kết hay 
trường tổng cộng.. 
Cross-Tab Sắp xếp dữ liệu theo hai chiều. 
Mail label Báo cáo được thiết kế để in dữ liệu theo cột cho nhãn thư. 
Summary Báo cáo chỉ hiển thị thông tin tổng quát, không chứa dữ liệu 
chi tiết. 
Graph Báo cáo thể hiện dữ liệu một cách trực quan bằng biểu đồ 
Top N Báo cáo cho phép chỉ hiển thị một số mẩu tin được chọn 
Drill Down Báo cáo cho phép nhấn đúp chuột lên dữ liệu tổng quát để 
hiển thị dữ liệu chi tiết. 
Another Các báo cáo có khuôn mẫu do người dùng định nghĩa trước 
đó. 
Chúng ta xét qua một ví dụ sử dụng Crystal Report để lập báo cáo 
- Khởi động Crystal Report và chọn New, chọn kiểu báo cáo là Standard. 
- Tiếp theo chọn Data File. 
- Trong hộp thoại chọn tập tin cơ sở dữ liệu, ta chỉ đến một tập tin cơ sở dữ liệu, 
sau đó ấn nút Done. Ta sẽ thấy các bảng cũng như các quan hệ giữa các bảng được 
hiển thị. 
Hình 13.10 Hộp thoại quan hệ giữa các bảng 
Quan hệ giữa các bảng đã được xác định ở mức thiết kế cơ sở dữ liệu nên ta 
không cần phải thay đổi những mối liên kết này. 
- Nhấn nút Next qua bước tiếp theo, ta sẽ chọn những trường tham gia vào báo 
cáo. 
- Bước kế tiếp ta chọn qua Tab Sort để thực hiện việc sắp xếp dữ liệu. 
- Tab Style cho phép chọn các dạng khác nhau của báo cáo. 
- Sau khi đã thiết kế xong, ta ấn Save để lưu lại báo cáo. 
Trang 156 
Visual Basic 
Khi mở lại báo cáo đã thiết kế, ta thấy Crystal Report hiển thị báo cáo ở hai mức, 
thiết kế và duyệt trước. 
Hình 13.11: Cửa sổ xem trước báo cáo và thiết kế báo cáo 
III.2. Thi hành báo cáo trong ứng dụng thông qua điều khiển ActiveX của 
Crystal Report 
Bước đầu tiên để có thể thi hành báo cáo Crystal Report, ta cần tham khảo đến 
điều khiển ActiveX của Crystal Report bằng cách thêm công cụ Crystal Report vào đề 
án của chúng ta. 
Chọn công cụ Crystal Report và đưa vào ứng dụng, biểu tượng trên hộp công cụ 
như sau. Trong sự kiện Click của một nút lệnh, ta viết đoạn mã sau: 
Private Sub Command1_Click() 
 CrystalReport1.ReportFileName = "d:\VB\bc.rpt" 
 CrystalReport1.PrintReport 
End Sub 
Thuộc tính ReportFileName xác định đường dẫn cũng như tên tập tin báo cáo. 
Việc thi hành báo cáo được thực hiện nhờ vào thuộc tính PrintReport. Ngoài ra, 
báo cáo có thể thi hành bằng cách hiển thị trên một cửa sổ khác hoặc là xuất ra thẳng 
trên máy in,  Ta thiết đặt thuộc tính đó qua hộp thoại thuộc tính. 
Hình 13.11 Hộp thoại xác lập thuộc tính 
Trang 157 
Visual Basic 
Báo cáo thi hành trên một cửa sổ riêng biệt, ta có thể lựa chọn nhiều công việc 
như xem qua các trang, in ấn báo cáo, phóng to thu nhỏ  
Hình 13.12: Báo cáo Crystal Report 
LỜI KẾT 
Chương Thiết lập báo cáo cũng là chương kết thúc của giáo 
trình Visual Basic. Tuy nhiên lập trình sự kiện và lập trình cơ sở dữ 
liệu với VB chỉ là một phần trong những khả năng mà VB mang lại. 
Hy vọng chúng tôi sẽ gặp lại bạn đọc trong những chuyên đề khác 
của VB. 
Trang 158 

File đính kèm:

  • pdfgiao_trinh_visual_basic.pdf