mời
ButtonInAn.Enabled = False
'Thiết lập nguồn dữ liêu mới cho giấy
myReport.SetDataSource(ds1.Tables(0).DefaultView)
'Thiết lập tên máy in cần in (nếu cần) myReport.PrintOptions.PrinterName =
"Foxit Reader PDF Printer"
'In bảng kê bán hàng ra máy in chỉ định myReport.PrintToPrinter(1, True, 0, 0) 'Trả trạng thái con trỏ về mặc định Me.Cursor = Cursors.Default
Có thể bạn quan tâm!
- Thực hành lập trình CSDL với VB.net - 24
- Danh Sách Các Trường Đặc Biệt Trong Crystal Report.
- Thực hành lập trình CSDL với VB.net - 26
- 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
Xem toàn bộ 318 trang tài liệu này.
'Tạm khóa nút In ấn ButtonInAn.Enabled = True
End If cn.Close()
End Using End Using
'Thiết lập tên máy in cần in (nếu cần) myReport.PrintOptions.PrinterName = "Foxit
Reader PDF Printer"
'In giấy mời ra máy in chỉ định myReport.PrintToPrinter(1, True, 0, 0)
Next End If
End Using End Using
'Trả trạng thái con trỏ về mặc định Me.Cursor = Cursors.Default 'Tạm khóa nút In ấn
ButtonInAn.Enabled = True Else
If RadioButtonTungHD.Checked Then
'Kiểm tra số hiệu hóa đơn có tồn tại không 'Khai báo đối tượng và biến cần sử dụng 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 AND tblBanHang.SoHieuHD = " & TextBoxSoHoaDon.Text
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)
'Nếu tồn tại số hiệu hóa đơn
If ds.Tables(0).Rows.Count > 0 Then 'Chuyển trạng thái con trỏ Me.Cursor = Cursors.WaitCursor
'Tạm khóa nút In ấn ButtonInAn.Enabled = False 'In giấy mời ra máy in
'Khai báo một đối tượng Crystal Report Dim myReport As New ReportDocument() 'Tải báo cáo từ đường dẫn chỉ định
myReport.Load(Application.StartupPath.ToString() & "HoaDonBanHang.rpt")
'Thiết lập nguồn dữ liêu mới cho giấy mời
myReport.SetDataSource(ds.Tables(0).DefaultView)
'Thiết lập tên máy in cần in (nếu cần) myReport.PrintOptions.PrinterName = "Foxit
Reader PDF Printer"
'In giấy mời ra máy in chỉ định myReport.PrintToPrinter(1, True, 0, 0) 'Trả trạng thái con trỏ về mặc định Me.Cursor = Cursors.Default
'Tạm khóa nút In ấn ButtonInAn.Enabled = True
Else
'Thông báo
MessageBox.Show("Số hiệu hóa đơn không đúng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)
TextBoxSoHoaDon.Focus()
End If cn.Close()
End Using End Using
End If End If
End If
If ComboBoxLuaChonIn.SelectedIndex = 0 Then 'Lựa chọn bảng kê bán hàng
'Khai báo đối tượng và biến cần sử dụng Dim sqlTimKiem As String
'Thiết lập câu lệnh tìm kiếm theo mã khác hàng sqlTimKiem = "SELECT * FROM tblBanHang WHERE
DateDiff(Day, " & DateTimePickerTuNgay.Text & ", NgayMuaBan)
>= 0 AND DateDiff(Day, NgayMuaBan, " & DateTimePickerDenNgay.Text & ") >= 0"
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)
'Nếu tồn tại số hiệu hóa đơn
If ds.Tables(0).Rows.Count > 0 Then 'Chuyển trạng thái con trỏ Me.Cursor = Cursors.WaitCursor 'Tạm khóa nút In ấn ButtonInAn.Enabled = False
'In giấy mời ra máy in
'Khai báo một đối tượng Crystal Report Dim myReport As New ReportDocument() 'Tải báo cáo từ đường dẫn chỉ định
myReport.Load(Application.StartupPath.ToString() & "BangKeBanHang.rpt")
'Thiết lập nguồn dữ liêu mới cho giấy mời
myReport.SetDataSource(ds.Tables(0).DefaultView) 'Thiết lập tên máy in cần in (nếu cần)
myReport.PrintOptions.PrinterName = "Foxit Reader PDF Printer"
'In giấy mời ra máy in chỉ định myReport.PrintToPrinter(1, True, 0, 0) 'Trả trạng thái con trỏ về mặc định Me.Cursor = Cursors.Default
'Tạm khóa nút In ấn ButtonInAn.Enabled = True
End If cn.Close()
End Using End Using
End If End Sub
3. Kết quả thiết kế:
Hình 108. Kết quả thiết kế form in hóa đơn, bảng kê bán hàng
4. Kết quả thực thi:
Kết quả sau khi nhấn vào nút in ấn với lựa chọn in từng hóa đơn.
Hình 109. Form điều khiển việc in ấn hóa đơn bán hàng
Hình 110. Nội dung hóa đơn bán hàng sau khi được in ra máy in
c) Thiết kế form xem trước hóa đơn theo mẫu
1. Phân tích yêu cầu:
Theo yêu cầu trên cần có một form chứa các điều khiển:
Các nhãn (Label) hiển thị nội dung “Số hóa đơn”, “Xem trước hóa đơn”. Một đối tượng Crytal Report Viewer để hiển thị báo cáo trên form.
Các nút lệnh “Tìm kiếm”, “In ấn”, “Kết thúc” có thêm hình ảnh minh họa.
2. Hướng dẫn thao tác:
Thực hiện các thao tác giống như phần trên để tạo mới một form có tên frmXemTruocHoaDonBanHang.
- Kéo điều khiển Label từ cửa sổ Toolbox vào form vào vị trí theo yêu cầu. Nháy phải chuột vào đối tượng Label rồi chọn Properties để thiết lập các thuộc tính cho đối tượng Label như sau:
+ Text: XEM TRƯỚC HÓA ĐƠN BÁN HÀNG
+ Font name: Microsoft Sans Serif
+ Font size: 18
+ Các giá trị khác để mặc định
+ Trên menu chọn Format/Center in form/Horizontally để căn giữa.
- Kéo điều khiển Crystal Report từ cửa sổ Toolbox vào form vào vị trí phù hợp. Nháp phải chuột vào đối tượng chọn Properties để thiết lập các thuộc tính cho đối tượng như sau:
+ Name: CrystalReportViewer1.
+ Anchor: Top, Bottom, Left, Right.
+ BorderStyle: FixedSingle.
+ DisplayStatusBar: False.
+ DisplayToolbar: False.
+ ToolPanelView: None.
+ Các giá trị khác để mặc định.
- Kéo điều khiển Button từ cửa sổ Toolbox vào form ở vị trí phù hợp. Nháy phải chuột vào đối tượng chọn Properties để thiết lập các thuộc tính cho đối tượng như sau:
+ Name: ButtonDauTien.
+ Font name: Microsoft Sans Serif
+ Font size: 9pt
+ Các giá trị khác để mặc định.
Làm thao tác tương tự để tạo các nút <, >, >>.
- Tiếp tục, kéo điều khiển Button từ cửa sổ Toolbox vào form ở vị trí phù hợp. Nháy phải chuột vào đối tượng chọn Properties để thiết lập các thuộc tính cho đối tượng như sau:
+ Name: ButtonTimKiem.
+ Font name: Microsoft Sans Serif
+ Font size: 9pt.
+ ImageAlign: MiddleLeft.
+ Text: &Tìm kiếm.
+ TextAlign: MiddleRight.
+ Nhấn biểu tượng bên phải thuộc tính Image để lựa chọn hình ảnh cho nút lệnh. Xuất hiện cửa sổ Select Resource.