Bài tập Visual Basic

Tóm tắt Bài tập Visual Basic: ... độ của đầu và cuối đường thẳng: Ví dụ: Line (50, 100)-(3000, 4000). Khi đường nầy được vẽ xong thì vị trí của con trỏ đồ họa (Graphic Cursor) có tọa độ là vị trí của cuối đường, tức là CurrentX=3000 và CurrentY=4000 trong trường hợp này. 9 Chỉ cho biết tọa độ cuối đường thẳng: Ví dụ: Line -... chương trình. Nhập vài dòng văn bản vào TextBox và nhấp nút Lưu. Mỗi khi văn bản được lưu, ta nhấp nút Trước khi in để xem tài liệu trước khi. Khi văn bản được hiển thị, nhấp nút Kiểm lỗi. Sau đó thử nhấp nút Trợ giúp để xem phần giúp đỡ của Office. Cuối cùng nhấp nút Thoát để thoát khỏi Word...dùng nhấp vào ImgSearch, chương trình sẽ tự động tìm kiếm các sách có tựa được người dùng đánh vào trong TextBox. Sự kiện ImgSearch được xử lý như sau: Private Sub ImgSearch_Click() fraSearch.Visible = True Dim SrchRS As DAO.Recordset Dim SQLCommand As String SQLCommand = "Select *...

pdf114 trang | Chia sẻ: havih72 | Lượt xem: 141 | Lượt tải: 0download
Nội dung tài liệu Bài tập Visual Basic, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
HILD COMMAND trên menu. Các 
TT. Visual Basic 
câu truy vấn này dùng để tìm thông tin về các sách dựa vào nhà xuất bản nào đó. Khi 
một command con được thêm vào, nó có tên là COMMAND1. 
Bước 10: Trong command con này, nó cần phải có một câu SQL để truy xuất thông 
tin. Câu truy vấn này có nhiệm vụ kết nối thông tin từ các bảng Title và Author đối với 
từng loại nhà xuất bản. 
Bước 11: Mở cửa sổ Data View bằng cách chọn View\Data View Window trên menu. 
Trong Data View, xác định thư mục Data Environment Connections. Đối tượng 
connection BIBLIO được hiển thị trong thư mục này. Mở đối tượng 
connection và xác định thư mục Tables. Trong thư mục này, chọn bảng 
Titles. Nhấp đúp vào bảng Titles này để hiển thị nội dung của bảng. 
Bước 12: Khi đã hiển thị nội dung của bảng, ta mở Data Tools bằng cách 
chọn VIEW\SHOW PANES trên menu. Chọn tất cả các mục trong phần này 
(Diagram, Grid, SQL, Results). 
Bước 13: Khi tất cả các mục của Data Tool được chọn, ta kéo các bảng Title Author 
và Authors vào khung diagram của Data Tools. Sau đó ta phải kiểm tra các liên kết của 
các bảng: bảng Titles có liên kết với bảng Title Author bởi trường ISBN không? Bảng 
Title Author có liên kết với bảng Authors bởi trường Au_ID không? Nếu không có các 
mối liên kết này ta phải chọn đúng trường trong bảng Title Author và kéo chúng vào 
trường tương ứng trong 2 bảng Titles và Authors. 
Bước 14: Để tạo ra câu truy vấn, ta đánh dấu chọn vào trường PubID, Title trong bảng 
Titles; trường Author trong bảng Authors. Kế tiếp, kiểm tra khung Grid ta thấy có một 
dòng có dấu * (như hình dưới) biểu thị là ta đã chọn tất cả các trường của tất cả các 
bảng. Ta không cần chọn tất cả thông tin, do đó ta nhấp vào dòng có dấu * và bấm 
phím Delete để xóa chúng. Lúc đó trong khung SQL ta thấy có câu SQL sau: 
SELECT Titles.PubID AS Expr1, Titles.Title AS Expr2, 
 Authors.Author AS Expr3 
FROM Titles, `Title Author`, Authors 
WHERE Titles.ISBN = `Title Author`.ISBN AND 
`Title Author`.Au_ID = Authors.Au_ID 
Trang 97 
TT. Visual Basic 
 Hình VII.1: SQL Builder 
Bước 15: Chọn câu SQL hiển thị bên trên rồi nhấp Edit\Copy. 
Bước 16: Nhấp đúp trở lại vào Data Environment, nhấp chuột phải vào command con 
đã có và chọn PROPERTIES trên menu. Sau đó đổi tên của command trong mục 
General thành Titles. Chọn Source Data là SQL Command; sau đó dán nội dung câu 
SQL đã copy ở trên vào khung nhập câu SQL (chọn Edit\Paste). 
Bước 17: Chọn mục RELATION , ta thấy trường PubID của cả hai bảng Publishers và 
Titles được hiển thị. Nhấp nút ADD để xác định liên kết giữa câu command cha và 
command con. 
Bước 18: Đóng các cửa sổ và lưu dự án lại. 
XÂY DỰNG GIAO DIỆN CHƯƠNG TRÌNH 
Bước 19: Thêm vào một điều khiển vào dự án bằng cách chọn Project\Components 
trên menu; tìm đến mục Microsoft Hierachial Flexgrid Control 6.0 (OLEDB). Đánh 
dấu tùy chọn này và nhấp OK. 
Bước 20: Mở Form1, tạo giao diện cho chương trình như dạng sau (hình bên dưới): 
 Item 1: Label 
 Name: lblCompany 
 Caption: Company Name 
 Item 2: TextBox 
 Name: txtCompany 
 Text: micro 
 Item 3: CommandButton 
 Name: cmdGO 
 Caption: GO 
 Default: TRUE 
 Item 4: Hierarchial FlexGrid 
 Name: grdTitles 
 AllowUserResizing: 1-flexResizeColumns 
 DataSource: DataEnvironment1 
 DataMember: Publishers 
 FixedCols: 0 
 Hình VII.2: Giao diện ứng dụng 
Trang 98 
TT. Visual Basic 
Bước 21: Nhấp chuột vào phải vào Hierarachical FlexGrid trên Form1, hộp thoại 
thuộc tính của Hierarachical được mở ra. Chọn mục BANDS trong hộp thoại này. 
Chọn Band0 (Publishers) sau đó không đánh dấu vào trường PubID (với tên là Expr1) 
để nó không hiển thị khi thực hiện câu SQL. Cũng vậy, không đánh dấu vào trường 
PubID của Band1 (hình dưới): 
 Hình VII.3: Chọn trường hiển thị trên lưới 
Bước 22: Đổi tên của các cột trong Band1 từ Expr2, Expr3 thành Title và Author bằng 
cách: Nhấp chuột 2 lần vào mục cần đổi tên trong Column Caption, nhập tên mới vào; 
sau đó chọn OK. 
Bước 23: Mục đích của chương trình này là: Khi chương trình thực thi, trong TextBox 
có một từ là micro, từ được đề nghị tìm kiếm. Khi nhấp chuột vào nút nhấn; đoạn văn 
bản trong TextBox được dùng để thực thi câu SQL Publishers; câu SQL này sẽ truy 
tìm tất cả các công ty mà tên của chúng chứa chuỗi được nhập vào trong TextBox; kết 
quả trả về được hiển thị trên lưới. Do đó, ta sẽ xử lý sự kiện cmdGO_Click bằng đoạn 
mã sau: 
MousePointer = vbHourglass 
 With DataEnvironment1 
 .rsPublishers.Close 
 .Publishers "%" & txtCompany.Text & "%" 
 End With 
 ' Thiet lap tren luoi 
 Set grdTitles.DataSource = DataEnvironment1 
 grdTitles.CollapseAll 
 MousePointer = vbDefault 
Bước 24: Lưu dự án và chạy chương trình. Sử dụng micro để tìm kiếm (ta có thể thử 
với từ khác như: hill hay mill) 
TẠO BÁO CÁO (REPORT) 
Trang 99 
TT. Visual Basic 
Trang 100 
Bước 25: Nếu Data Report Designer không hiển thị dưới menu PROJECT, mở hộp 
thoại COMPONENTS, chọn Data Report Designer trong mục chọn Designers. Sau đó 
ta thêm Data Report Designer vào dự án bằng cách chọn PROJECT\ADD DATA 
REPORT trên menu. 
Bước 26: Liên kết Data Report Designer với Data Environment nhờ việc thiết lập 
thuộc tính DataSource của Data Report là DataEnvirronment1 và thuộc tính 
DataMember là Publishers. 
Bước 27: Nhấp chuột phải trên Data Report Designer và chọn RETRIEVE 
STRUCTURE trên menu. Một hộp thoại xác nhận hiện lên và ta chọn YES. 
Bước 28: Ta nhận thấy trên report gồm các phần: report header, page header, 
publisher information, title information, page footer, và report footer. 
Bước 29: Chọn phần Report Header, trong phần này, thêm một Report Label vào, đặt 
Caption là Book Report; ta có thể đổi Font chữ và kích thước Font tương ứng. 
Bước 30: Chọn Group header, trong phần này thêm một Report TextBox vào; đặt 
thuộc tính DataMember là Publishers và DataField là Name. 
Bước 31: Chọn phần Detail của Report. Trong phần này, thêm 2 Report TextBox vào, 
đặt 2 điều khiển này cạnh nhau trong phần Detail; chọn TextBox thứ nhất và đặt thuộc 
tính DataMember là Titles và DataField là Expr2, đối với TextBox thứ hai: 
DataMember: Titles, DataField: Expr3. 
Bước 32: Lưu dự án lại. 
Bước 33: Chọn Form1 trong môi trường soạn thảo; tạo một menu trong Form1 bằng 
cách chọn Tools\Menu Editor; trong Menu Editor, tạo một Report menu với các phần 
tử là Preview và Print với các thuộc tính sau: 
 Item 1 – Menu 
 Name: mnuReport 
 Caption: Report 
 Item 2 – Menu 
 Name: mnuPreview 
 Caption: Preview 
 Item 3 – Menu 
 Name: mnuPrint 
 Caption: Print 
Bước 34: Ta có thể xem báo cáo trước khi in nhờ hàm Show của đối tượng Report. 
Trong hàm xử lý sự kiện mnuPreview, thêm đoạn mã sau: 
 DataReport1.Show 
Bước 35: In báo cáo được thực hiện nhờ hàm PrintReport của đối tượng Report. Trong 
hàm xử lý sự kiện mnuPrint, thêm đoạn mã sau: 
 DataReport1.PrintReport 
Bước 36: Lưu và chạy chương trình. Thử hiển thị và in report. 
TT. Visual Basic 
Bài 7-2 
BIỂU MẪU NHẬP LIỆU VỚI DATA ENVIRONMENT 
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? 
 Hình VII.4: Tạo Connection 
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. 
Trang 101 
TT. Visual Basic 
o Trở lại giao diện DED, ta được: 
Hình VII.5: Đối 
tượng Command 
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 VII.6: Kết quả thực thi ứng dụng 
Trang 102 
TT. Visual Basic 
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ý: 
 Hình VII.7: Giao diện đầy đủ 
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 
Trang 103 
TT. Visual Basic 
 End With 
 Me.Refresh 
 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. 
II. BÀI TẬP TỰ LÀM 
1) Sử dụng DataEnviroment, thiết kế Form nhập liệu cho bảng THangHoa (hình dưới). 
Ở đây thay vì hiển thị MaLoai, ta lại hiển thị TenLoai: 
 Hình VII.8: Form nhập liệu 
2) Sử dụng DataEnviroment, thiết kế Form nhập liệu cho bảng TNhanVien. 
3) Sử dụng DataEnviroment, thiết kế Form cho phép nhập (sửa, xóa) thông tin về một 
phát sinh về một mặt hàng nào đó trong ngày. Lưu ý: Trường STT là kiểu 
AutoNumber (Access), Ngay: lấy ngày hệ thống (hàm Now). 
Trang 104 
TT. Visual Basic 
Trang 105 
Chương 8 THIẾT LẬP BÁO CÁO VÀ XUẤT 
THÔNG TIN 
Mục tiêu: 
 Chương này nhằm giới thiệu cho sinh viên cách thức để tạo báo biểu, 
thành phần không thể thiếu trong các ứng dụng cơ sở dữ liệu. 
Học xong chương này, sinh viên phải nắm bắt được các vấn đề sau: 
 Sử dụng Data Report để tạo các loại báo biểu sau: 
 - Báo cáo dạng bình thường. 
 - Báo cáo có phân nhóm dữ liệu. 
 - Báo cáo dạng phân cấp. 
Kiến thức có liên quan: 
 - Giáo trình Visual Basic, chương 13. 
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 636 
- Nguyễn Ngọc Mai (chủ biên) – Nhà xuất bản Giáo dục - 2000. 
- Tự học Lập trình cơ sở dữ liệu với Visual Basic 6.0 trong 21 ngày 
(T1) - Chương 5, trang 183 - Nguyễn Đình Tê (chủ biên) - Nhà xuất bản Giáo 
dục - 2001. 
TT. Visual Basic 
I. HƯỚNG DẪN 
TẠO KẾT NỐI VỚI CƠ SỞ DỮ LIỆU 
Bước 1: Tạo một dự án trong thư mục Basic\Bt8-1. 
Bước 2: Để tạo một report, ta phải xác định dữ liệu nào sẽ sử dụng trong report, đó là 
nhiệm vụ của Data Environment. 
 Ta chèn một Data Environment vào dự án nhờ việc chọn Project\More ActiveX 
Designer\Data Environment. 
 Ta sử dụng Data Environment để lưu trữ các tập dữ liệu sẽ dùng trong report. 
Bước 3: Nhấp đúp vào trình thiết kế Data Environmenr trong cửa sổ Project Explorer 
để mở trình thiết kế. Sau đó nhấp vào Connection1 và thay đổi thuộc tính Name của nó 
thành cnHangHoa; nhấp chuột phải vào cnHangHoa và chọn mục Properties, hộp thoại 
Properties hiện ra: 
Trang 106 
Hình VIII.1: Tạo nối kết đến CSDL 
Bước 4: Ta sẽ tạo kết nối đến cơ sở dữ liệu DBHH.MDB có sẵn trên máy. Do đó ta 
nhấp nút Next sau khi chọn Microsoft OLEDB Provider for ODBC. Trong tùy chọn 
này ta chọn mục Use data source name; rồi chọn nguồn dữ liệu DBHH đã tạo ra từ 
trước đó. 
Bước 5: Nhấp nút Test Connection để kiểm tra xem nối kết có thành công hay không? 
TẠO ĐỐI TƯỢNG COMMAND 
Bước 6: Sau khi đã xác định Data Environment Connection, ta có thể xác định 
Command, Command lưu kết nối tới bảng dữ liệu và những trường sẽ được dùng trong 
TT. Visual Basic 
report. Nhấp nút phải chuột vào Command trong cửa sổ thiết kế Data Environment và 
chọn mục Add Command, một hộp thoại xuất hiện như hình bên dưới. 
Bước 7: Thiết lập thuộc tính Name của Command là comHangHoa, chọn Connection 
là cnHangHoa. Trong phần DataBase Object chọn kiểu lấy dữ liệu là Table; sau đó 
trong ComboBox Object Name chọn Table THANGHOA. 
 Hình VIII.2: Đối tượng Command 
XÂY DỰNG MỘT BÁO CÁO (REPORT) ĐƠN GIẢN 
Bước 8: Bây giờ ta sẽ tạo một báo cáo để hiển thị dữ liệu đã xác định trong Data 
Environment. Để làm điều này, nhấp phải chuột vào Project trong cửa sổ Project 
Explorer; rồi chọn Add\Data Report; sau đó đặt tên của report này lại là drHangHoa, 
DataSource: DataEnvironment1, DataMember: cnHangHoa (trong cửa sổ Properties). 
Bước kế tiếp ta đóng tất cả các cửa sổ ngoại trừ 2 cửa sổ DataEnvironment và 
drHangHoa. 
Bước 9: Bước này chỉ đơn giản là nhấp chọn và kéo các trường từ Data Environment, 
mục command comHangHoa vào Data Report. Đối với report này, nhấp chọn và kéo 
các trường tên MaHang, TenHang, DVTinh, MaLoai. Khi thực hiện xong, màn hình 
tương tự như hình dưới: 
Trang 107 
TT. Visual Basic 
Hình VIII.3: Thiết kế Report 
Ở đây, ta chỉ kéo chọn các trường vào mục Detail của report, còn các tiêu đề cột 
(tương ứng với các trường); ta đặt chúng trong phần Page Header của report. Có một 
ghi nhận rằng, khi ta kéo thả các trường vào trong phần Detail của report, một report 
Label chứa tên trường và một report TextBox cho phép nhập liệu xuất hiện trong phần 
Detail. Do đó, trong phần Detail ta chỉ giữ lại TextBox, còn report Label ta chuyển 
chúng lên phần Page Header. Vì vậy coi như ta đã thiết lập xong phần hiển thị của 
report. Vấn đề còn lại chỉ là trang trí sao cho đạt yêu cầu về mặt thẩm mỹ. 
CHÈN CÁC TIÊU ĐỀ ĐẦU TRANG VÀ CUỐI TRANG 
Bước 10: Tất cả các report hoàn chỉnh đều phải có một số đặc điểm nào đó; nhất là 
report phải có một tên, số trang của report được hiển thị rõ ràng. Các mục này đặt tốt 
nhất là trong phần Report Header và Report Footer. 
 Ta cần phải thêm Report Header và Report Footer vào trong report của mình; 
đơn giản chỉ cần nhấp chuột phải vào report và chọn Show Report Header | Footer. Hai 
phần mới này sẽ được tạo ra. 
Bước 11: Thêm một report Label vào phần Header của report; sau đó thay đổi thuộc 
tính Caption của nó thành Chi tiết hàng hóa các loại. Ở đây có thể chọn Font chữ với 
kích thước lớn (VD: 20) để tiêu đề của report được hiển thị lớn. 
Trang 108 
TT. Visual Basic 
Bước 12: Nhấp chuột phải vào mục report Footer và chọn tùy chọn Insert Control | 
Current Page Number để chèn số trang vào; tiếp đến chọn Insert Control | Total 
Number of Pages để chèn tổng số trang của report. 
Bước 13: Đến đây, phần thiết kế report coi như hoàn tất; ta lưu report lại. 
Bước 14: Tạo giao diện cho chương trình như sau: 
Hình VIII.4: Giao diện chính 
Bước 15: Khi chọn Chi tiết hàng hóa, report vừa thực hiện sẽ được hiển thị; do đó ta 
xử lý sự kiện này như sau: 
Private Sub mnuChiTiet_Click() 
 drHangHoa.Show 
End Sub 
Bước 16: Lưu dự án và chạy chương trình. 
TẠO REPORT BẰNG CÂU LỆNH SQL 
Bước 17: Data Report cho phép ta tạo các report bằng cách sử dụng các câu lệnh SQL 
như là nền tảng của đối tượng Command. Trong phần này ta sẽ sử dụng câu lệnh 
SELECT để lấy dữ liệu từ các bảng TPHATSINH, THANGHOA, TLOAIHANG và 
chọn những trường sau: PhatSinh.SOTT, TPhatSinh.NGAY, TPhatSinh.LOAI, 
TPhatSinh.FIEU, TPhatSinh.HTEN, TPhatSinh.SOLG, TPhatSinh.DGIA, 
THangHoa.TENHANG, TLoaiHang.TENLOAI. 
Bước 18: Chọn mục Data Enviroment1 trong Project Explorer, sau đó nhấp chuột phải 
vào đối tượng cnHangHoa, chọn Add Command. Ta điền vào các thuộc tính như hình 
dưới: 
Trang 109 
TT. Visual Basic 
Hình VIII.5: Command là SQL 
Bước 19: Trong mục Source of Data, thay vì chọn DatabaseObject như bài trước, ở 
đây ta chọn SQL Statement và nhập câu SQL tương ứng vào, rồi chọn OK. 
Bước 20: Thêm một DataReport vào dự án với Name: drHHPS, DataSource: 
DataEnvironment, DataMember: comHHPS. Sau đó kéo thả các trường tương ứng vào 
report rồi trang trí lại chúng. 
Bước 21: Lưu report lại. Ta sẽ gọi thực thi report này trong phần xử lý tình huống khi 
chọn mục Hàng Hóa Phát Sinh của menu. 
Private Sub mnuHHPS_Click() 
 drHHPS.Show 
End Sub 
Bước 22: Lưu dự án và chạy chương trình. 
NHÓM DỮ LIỆU 
Bước 23: Ta có thể nhóm dữ liệu lại theo một nội dung nào đó. Ở đây, trong 
DataEnvironment1, thêm vào một đối tượng Command mới tên comHHNgay. Trong 
phần này ta sẽ lấy dữ liệu từ các bảng TPhatSinh, ThangHoa, TLoaiHang và lấy ra các 
trường TPhatSinh.SOTT, TPhatSinh.NGAY, TPhatSinh.LOAI, TPhatSinh.FIEU, 
TPhatSinh.HTEN, TPhatSinh.SOLG, TPhatSinh.DGIA, THangHoa.TENHANG, 
TLoaiHang.TENLOAI. 
Bước 24: Ta sẽ nhóm dữ liệu trên lại theo từng ngày, do đó ta làm theo các bước như 
trong hình dưới: 
Trang 110 
TT. Visual Basic 
Hình VIII.6: Nhóm dữ liệu 
 Chọn Grouping, chọn trường để nhóm lại là Ngay; sau đó nhấp OK. 
Bước 25: Trong phần Aggregates, ta điền thông tin như hình: 
Hình VIII.8: Hàm thao tác trên nhóm 
 Ở đây ta sử dụng các hàm tập hợp để tính tổng số lượng bán được trong ngày. 
Do đó ta chọn mục Aggregate, chọn mục thích hợp và nhấp Add để thêm vào một hàm 
tính trên nhóm. 
Bước 25: Chèn một DataReport mới vào tên drHHNgay, DataSource: 
DataEnvironment1, DataMember: comHHNgay_Grouping. Sau đó nhấp chuột phải 
vào Report và chọn mục Show Group Header | Footer. 
Bước 26: Ta kéo trường ngày trong phần Sumary Fields in comHHNgay_Grouping 
vào phần Group Header. Trong phần Detail ta kéo thả các trường khác. Còn phần 
Group_Header, ta lại kéo TongSolg và đặt vào. 
Trang 111 
TT. Visual Basic 
Hình VIII.9: Thiết kế Report 
Bước 27: Lưu report lại. Ta sẽ gọi report hiển thị khi nhấp vào mục Phat sinh theo 
ngay trên menu: 
Private Sub mnuPsngay_Click() 
 drHHNgay.Show 
End Sub 
Bước 28: Lưu dự án lại, chạy chương trình, ta có thể in thử ra giấy. 
Bước 29: Còn một report nữa ta sẽ thực hiện với điều kiện là tìm các phát sinh hàng 
hóa theo từng nhân viên (tương tự như ở report trên) và ta sẽ gọi thực thi ở mục menu 
còn lại. 
Bước 30: Xử lý sự kiện mnu_Thoat: 
Private Sub mnuThoat_Click() 
 End 
End Sub 
Trang 112 
TT. Visual Basic 
II. BÀI TẬP TỰ LÀM 
1) Tạo báo cáo (Report) cho phép in ra giấy thông tin của các hàng hóa, các thông 
tin này bao gồm: Mã hàng hóa, tên hàng hóa, đơn vị tính, tên loại hàng tương 
ứng. 
2) Tạo báo cáo (Report) cho phép in ra giấy thông tin chi tiết về các phát sinh theo 
từng ngày, các thông tin này bao gồm: Ngày lập, loại, Fieu, họ tên khách hàng, lý 
do, số lượng, đơn giá, thành tiền (với Thành tiền = Số lượng * Đơn giá), tên hàng 
hóa và họ tên nhân viên tương ứng. (Hình VIII.10) 
Hình VIII.10: Phát sinh theo ngày 
3) Tạo báo cáo (Report) cho phép in ra giấy thông tin chi tiết về các phát sinh theo 
từng nhân viên, các thông tin này bao gồm: Ngày lập, loại, Fieu, họ tên khách 
hàng, lý do, thành tiền (với Thành tiền = Số lượng * Đơn giá), tên hàng hóa và 
loại hàng tương ứng. (Hình dưới) 
Trang 113 
TT. Visual Basic 
Hình VIII.11: Phát sinh theo nhân viên 
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 TT. 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 114 

File đính kèm:

  • pdfbai_tap_visual_basic.pdf