Giáo trình Bài tập Visual Basic
Bước 1:Tạo thưmụcBasic\Bt1-1. Tạo một dựánmới kiểu Standard EXE, lưu vào
trong thưmục trên.
Bước 2:Thêm2 List Box và một Button vào form (hình 1). Nhấn đúp lên form đểmở
ra cửa sổCode, nhập các đoạn mãsau trong sựkiện Form_Load:
Form1.List1.AddItem “Thing 3”
Form1.List1.AddItem “Thing 2”
Form1.List1.AddItem “Thing 1”
ệ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:
- bai-tap-vb-12009930581144-5.pdf