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

bổ xung thêm đối tượng Combobox chứa các phép toán so sánh, một điều khiển NumericUpDown để thay đổi giá trị so sánh.

2. Hướng dẫn thao tác:

Thực hiện các thao tác tương tự mục 1 của công việc 4 để tạo mới form frmTimKiemThongTinBanHang. Tạo và thiết lập thuộc tính các điều khiển trên form frmTimKiemThongTinBanHang như sau:

+ Label tìm kiếm thông tin bán hàng:

Kéo điều khiển Label từ của sồ Toolbox vào form. Nháy phải chuột vào Label chọn Properties và thiết lập các thuộc tính cho Label này:

Text: TÌM KIẾM THÔNG TIN BÁN HÀNG

Font name: Microsoft Sans Serif

Font size: 18

Font bold: True

Fore color: Blue

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

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

Trên menu chọn Format/Center in form/Horizontally để căn giữa.

+ Thực hiện thao tác tương tự cho các label mã khách hàng, tên khách hàng, số

lượng.


+ Combobox so sánh số lượng:

Kéo điều khiển combobox từ cửa sổ Toolbox vào form. Điều chỉnh vị trí và

kích thước phù hợp. Nháy phải chuột vào combobox và thiết lập thuộc tính cho combobox này như sau:

Name: ComboBoxSoSanh

DropDownStyle: DropDownList

Items: (Collection) Nháy chuột vào nút ở phần Collection và nhập các giá trị >, >=, <, <=, =, <>. Mỗi giá trị trên một dòng. Nhấn OK để hoàn thành việc nhập giá trị cho Combobox

+ NumericUpDown số lượng

Kéo điều khiển NumericUpDown từ cửa sổ Toolbox vào form. Điều chỉnh vị trí và kích thước phù hợp. Nháy phải chuột vào điều khiển chọn Properties để thiết lập thuộc tính cho điều khiển này như sau:

Name: NumericUpDown1

Value: 10

Maximum: 10000

Font name: Microsoft Sans Serif

Font size: 9

Fore color: Black

Các thuộc tính khác để mặc định

+ Ô nhập mã khách hàng

Kéo điều khiển TextBox từ cửa sổ Toolbox vào form. Điều chỉnh vị trí và kích thước phù hợp. Nháy phải chuột vào điều khiển chọn Properties để thiết lập thuộc tính cho điều khiển này như sau:

Name: TextBoxMaKH

Font name: Microsoft Sans Serif

Font size: 9

Fore color: Black

Các thuộc tính khác để mặc định

+ Ô nhập tên khách hàng

Kéo điều khiển TextBox từ cửa sổ Toolbox vào form. Điều chỉnh vị trí và kích thước phù hợp. Nháy phải chuột vào điều khiển chọn Properties để thiết lập thuộc tính cho điều khiển này như sau:

Name: TextBoxTenKhachHang

Font name: Microsoft Sans Serif

Font size: 9

Fore color: Black

Enabled: False

Các thuộc tính khác để mặc định

+ Các nút lệnh

Kéo các nút lệnh vào form từ cửa sổ Toolbox và thiết lập thuộc tính giống như ở phần trên.

+ Lưới hiển thị kết quả Thao tác giống phần trên.

Viết mã lệnh cho các đối tượng trên form tìm kiếm như sau:

Lưu ý: Để thao tác với cơ sở dữ liệu SQL Server phải thêm vào thư viện System.Data.SqlClient bằng đoạn mã

Imports System.Data.SqlClient


Mã lệnh của điều khiển button Kết thúc


Private Sub ButtonKetThuc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonKetThuc.Click

Me.Close() End Sub


Mã lệnh của điều khiển textbox Mã khách hàng


Private Sub TextBoxMaKH_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBoxMaKH.TextChanged

'Kiểm tra giá trị ở ô mã khách hàng

If Not String.IsNullOrEmpty(TextBoxMaKH.Text) Then 'Kiểm tra xem mã khách hàng có phải là số không If IsNumeric(TextBoxMaKH.Text) Then

'Tìm kiếm khách hàng tương ứng với mã 'Khai báo đối tượng và biến cần sử dụng Dim sqlTimKiem As String

'Tạo câu lệnh truy vấn tương ứng với lựa chọn của người sử dụng

'Tìm kiếm theo mã khác hàng

sqlTimKiem = "SELECT * FROM tblKhachHang WHERE [MaKH]=" & TextBoxMaKH.Text

'Thực hiện tìm kiếm và đưa kết quả ra lưới 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)

If ds.Tables(0).Rows.Count > 0 Then 'Hiển thị tên khách hàng ra ô họ tên TextBoxTenKhachHang.Text =

ds.Tables(0).Rows(0).Item("HoTen").ToString()

Else

'Thông báo cho người sử dụng MessageBox.Show("Mã khách hàng không tồn

tại", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

'Đưa con trỏ về ô mã khách hàng TextBoxMaKH.Focus()

End If cn.Close()

End Using End Using

Else

MessageBox.Show("Mã khách hàng phải là số", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

TextBoxMaKH.Focus() End If

Else

MessageBox.Show("Chưa nhập mã khách hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

TextBoxMaKH.Focus() End If

End Sub


+ Mã lệnh của điều khiển button Tìm kiếm


Private Sub ButtonTimKiem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonTimKiem.Click

If Not String.IsNullOrEmpty(TextBoxMaKH.Text) Then


'Kiểm tra xem mã khách hàng có phải là số không If IsNumeric(TextBoxMaKH.Text) Then


'Kiểm tra xem combobox đã chọn giá trị so sánh chưa If ComboBoxSoSanh.SelectedIndex <> -1 Then


'Khai báo đối tượng và biến cần sử dụng Dim sqlTimKiem As String


'Tạo câu lệnh truy vấn tương ứng với lựa chọn của người sử dụng

sqlTimKiem = "SELECT tblBanHang.SoHieuHD, tblBanHang.NgayMuaBan, tblMatHang.TenMatHang, tblChiTietHoaDon.SoLuong, tblChiTietHoaDon.DonGia, tblChiTietHoaDon.SoLuong*tblChiTietHoaDon.DonGia AS

ThanhTien FROM tblBanHang, tblChiTietHoaDon, tblMatHang WHERE tblMatHang.MaMH = tblChiTietHoaDon.MaMH AND tblBanHang.SoHieuHD = tblChiTietHoaDon.SoHieuHD AND tblChiTietHoaDon.SoLuong " & ComboBoxSoSanh.SelectedItem.ToString() & " " & NumericUpDown1.Value.ToString() & " AND tblBanHang.MaKH =" & TextBoxMaKH.Text


'Thực hiện tìm kiếm và đưa kết quả ra lưới 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)

Me.DataGridView1.DataSource = ds.Tables(0).DefaultView

Me.DataGridView1.Columns(0).HeaderText =

"Số hóa đơn"


Me.DataGridView1.Columns(1).HeaderText =

"Ngày mua hàng"


Me.DataGridView1.Columns(2).HeaderText =

"Tên mặt hàng"

Me.DataGridView1.Columns(3).HeaderText =

"Số lượng"


Me.DataGridView1.Columns(4).HeaderText =

"Đơn giá"


Me.DataGridView1.Columns(5).HeaderText =

"Thành tiền"


GroupBox2.Text = "Kết quả tìm kiếm (" + Me.DataGridView1.RowCount.ToString() + " kết quả)"


cn.Close() End Using

End Using End If

Else


MessageBox.Show("Mã khách hàng phải là số", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

TextBoxMaKH.Focus() End If

Else


MessageBox.Show("Chưa nhập mã khách hàng", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)

TextBoxMaKH.Focus() End If

End Sub

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


Hình 55 Kết quả thiết kế form tìm kiếm thông tin bán hàng 4 Kết quả thực 2


Hình 55. Kết quả thiết kế form tìm kiếm thông tin bán hàng

4. Kết quả thực thi


Hình 56 Kết quả thực thi form tìm kiếm thông tin bán hàng Công việc 4 Thiết 3


Hình 56. Kết quả thực thi form tìm kiếm thông tin bán hàng


Công việc 4. Thiết kế một form để tìm kiếm thông tin về các mặt hàng đã bán của một nhân viên bán hàng và hiển thị kết quả trên form theo mẫu sau.

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