Thực hành lập trình CSDL với VB.net - 31

Imports CrystalDecisions.Windows.Forms Imports CrystalDecisions.ReportSource


Mã lệnh khi form xem trước được tải:


Private Sub frmXemTruocBaoCaoBanHang_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

Dim cr As New ReportDocument Dim strReportName As String strReportName =

"BaoCaoBanHangTheoNguoiBanHang.rpt" Dim strReportPath As String =

Application.StartupPath & "" & strReportName


Có thể bạn quan tâm!

Xem toàn bộ 318 trang tài liệu này.

If Not IO.File.Exists(strReportPath) Then

Throw (New Exception("Không thể tải báo cáo:" &

_

vbCrLf & strReportPath)) End If

Dim sqlTimKiem As String

'Thiết lập câu lệnh tìm kiếm theo mã khác hàng sqlTimKiem = "SELECT tblBanHang.*,

tblKhachHang.HoTen, tblKhachHang.DienThoai, tblKhachHang.DiaChi, tblMatHang.TenMatHang, tblMatHang.DVT, tblChiTietHoaDon.SoLuong, tblChiTietHoaDon.DonGia, tblChiTietHoaDon.SoLuong * tblChiTietHoaDon.DonGia AS ThanhTien FROM tblBanHang, tblKhachHang, tblMatHang, tblChiTietHoaDon WHERE tblBanHang.MaKH = tblKhachHang.MaKH AND tblBanHang.SoHieuHD = tblChiTietHoaDon.SoHieuHD AND tblMatHang.MaMH = tblChiTietHoaDon.MaMH"

Using cn As New SqlConnection("Data Source=PHANDUCTHIEN;Initial Catalog=QLYBH;User ID=sa;Password=admin123@")

Using cmd As New SqlCommand(sqlTimKiem, cn) cmd.CommandType = CommandType.Text cn.Open()

Dim ds As New DataSet()

Dim da As New SqlDataAdapter(cmd) da.Fill(ds)

cr.Load(strReportPath) cr.SetDataSource(ds.Tables(0).DefaultView)

CrystalReportViewer1.ReportSource = cr End Using

End Using End Sub


3. Kết quả thiết kế

Kết quả thiết kế form in báo cáo


Hình 124 Kết quả thiết kế form điều khiển in báo cáo bán hàng Kết quả 1

Hình 124. Kết quả thiết kế form điều khiển in báo cáo bán hàng

Kết quả thiết kế form xem trước báo cáo.


Hình 125 Kết quả thiết kế form xem trước báo cáo bán hàng 4 Kết quả thực 2

Hình 125. Kết quả thiết kế form xem trước báo cáo bán hàng

4. Kết quả thực thi

Kết quả khi thực thi form

Hình 126 Kết quả thực thi form in báo cáo bán hàng Kết quả khi nhấn vào nút 3


Hình 126. Kết quả thực thi form in báo cáo bán hàng

Kết quả khi nhấn vào nút Xem trước


Hình 127 Kết quả thực thi form xem trước báo cáo bán hàng 3 3 Bài tập áp 4

Hình 127. Kết quả thực thi form xem trước báo cáo bán hàng.


3.3. Bài tập áp dụng


Bài tập số 1. Để quản lý việc phân công giảng dạy trong một học kỳ cho giáo viên của khoa CNTT, khoa có một cơ sở dữ liệu QLYGD.MDF trong đó có các bảng:

tblGiaoVien(MaGV, HoTen, BoMon, DMGD) tblMonHoc(Mamon, Tenmon, SoTinChi) tblPhanCong(MaGV, MaMon, LHP, SSO, HocKy)

Tiếp tục với bài tập số 1 đã thực hiện trong phần bài tập thực hành của bài 2 thực hiện các công việc sau:

Công việc 1:


1. Sử dụng Crystal Report thiết kế bảng phân công giảng dạy theo mẫu sau:



Hình 128. Mẫu bảng phân công giảng dạy

Yêu cầu:


+ Báo cáo được thiết kế in trên khổ giấy: A4

+ Lề trên: 2cm.

+ Lề dưới: 2cm.

+ Lề trái: 3cm.

+ Lề phải: 2cm

+ Nội dung trên báo cáo được lấy dữ liệu từ các bảng trong cơ sở dữ liệu QLYGD.MDF

+ Ngày tháng năm lấy theo đồng hồ hệ thống.

+ Số trang đánh bắt đầu từ 1 / tổng số trang.

+ Cỡ chữ của các phần trên báo cáo là 13

+ Font chữ: Times New Roman

+ Các nhãn có nội dung là TRƯỜNG ĐẠI HỌC ABC, KHOA CNTT, PHÂN CÔNG GIẢNG DẠY, NGƯỜI LẬP BIỂU kiểu in đậm.

2. Thiết kế form để điều khiển việc xem và in báo cáo theo mẫu sau:


Hình 129 Form in phân công giảng dạy Yêu cầu Form có kiểu FixedSingle Các 5


Hình 129. Form in phân công giảng dạy

Yêu cầu:


- Form có kiểu: FixedSingle


- Các nút thu nhỏ và phóng to của form bị ẩn


- Form xuất hiện chính giữa màn hình


- Nhãn in báo cáo bán hàng:


Font: Microsoft Sans Serif, Bold, 14

Căn giữa màn hình form theo chiều ngang

Mầu chữ: Xanh lá

- Các nhãn in theo, họ tên giáo viên:

Font: Microsoft Sans Serif, 9

Mầu chữ: Đen

Có lề trái bằng nhau

- Danh sách giáo viên


Font: Microsoft Sans Serif, 9

Mầu chữ: Đen

Kiểu: DropDown

Có giá trị được lấy từ bảng giáo viên.

Mặc định lựa chọn này bị khóa không cho người sử dụng lựa chọn. Chỉ khi người sử dụng lựa chọn in theo từng người bán hàng thì lựa chọn này mới được bật lên.

- Lựa chọn tất cả giáo viên, từng giáo viên:

Là dạng radio button.

Mặc định lựa chọn tất cả giáo viên.

Font: Microsoft Sans Serif, 9pt.

Mầu chữ: Đen

Khi lựa chọn tất cả giáo viên thì tự động khóa danh sách giáo viên.

Khi lựa chọn từng giáo viên thì mở khóa danh sách lựa chọn giáo viên cho phép người sử dụng lựa chọn.

- Nút lệnh Xem trước


Font: Microsoft Sans Serif, Bold, 9

Mầu chữ: Đen

Phím nóng là: X

Khi nhấn vào nút lệnh xem trước, chương trình sẽ căn cứ vào lựa chọn của người sử dụng để hiển thị bảng phân công giảng dạy của tất cả giáo viên hoặc từng giáo viên tương ứng tại một form mới.

- Nút lệnh In ấn


Font: Microsoft Sans Serif, Bold, 9

Mầu chữ: Đen

Phím nóng là: I

Khi nhấn vào nút lệnh in ấn, chương trình sẽ căn cứ vào lựa chọn của người sử dụng để in bảng phân công giảng dạy của tất cả giáo viên hoặc từng giáo viên tương ứng ra máy in mặc định.

- Nút lệnh Kết thúc:

Font: Microsoft Sans Serif, Bold, 9

Mầu chữ: Đen

Phím nóng là: K

Khi nhấn vào nút lệnh hỏi người dùng có muốn kết thúc điều khiển việc in ấn không. Nếu chọn Yes sẽ đóng form. Nếu chọn No sẽ trở lại form.

Công việc 2:


1. Thiết kế báo cáo phân nhóm theo môn



Hình 130. Mẫu bảng phân công giảng dạy theo bộ môn

Yêu cầu:


+ Báo cáo được thiết kế in trên khổ giấy: A4

+ Lề trên: 2cm.

+ Lề dưới: 2cm.

+ Lề trái: 3cm.

+ Lề phải: 2cm

+ Nội dung trên báo cáo được lấy dữ liệu từ các bảng trong cơ sở dữ liệu QLYGD.MDF

+ Ngày tháng năm lấy theo đồng hồ hệ thống.

+ Số trang đánh bắt đầu từ 1 / tổng số trang.

+ Cỡ chữ của các phần trên báo cáo là 13

+ Font chữ: Times New Roman

+ Các nhãn có nội dung là TRƯỜNG ĐẠI HỌC ABC, KHOA CNTT, PHÂN CÔNG GIẢNG DẠY, NGƯỜI LẬP BIỂU kiểu in đậm.

2. Thiết kế form để xem in báo cáo phân nhóm theo bộ môn


Hình 131 Form in phân công giảng dạy Yêu cầu Form có kiểu FixedSingle Các 6


Hình 131. Form in phân công giảng dạy

Yêu cầu:


- Form có kiểu: FixedSingle


- Các nút thu nhỏ và phóng to của form bị ẩn


- Form xuất hiện chính giữa màn hình


- Nhãn in báo cáo bán hàng:


Font: Microsoft Sans Serif, Bold, 14

Căn giữa màn hình form theo chiều ngang

Mầu chữ: Xanh lá

- Các nhãn in theo, tên bộ môn:


Font: Microsoft Sans Serif, 9

..... Xem trang tiếp theo?
⇦ Trang trước - Trang tiếp theo ⇨

Ngày đăng: 16/07/2022