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


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!

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 1


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 2


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.

.....

⇦ Trang trước - Trang tiếp theo ⇨

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