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!
- Thực hành lập trình CSDL với VB.net - 28
- Các Hàm Để Tính Toán Với Nhóm Của Crystal Report
- Thực hành lập trình CSDL với VB.net - 30
- Thực hành lập trình CSDL với VB.net - 32
- Thực hành lập trình CSDL với VB.net - 33
- Bảng Danh Sách Các Loại Dự Án Tạo Bộ Cài Đặt
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ả 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 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 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 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 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 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