Hình 57. Form tìm kiếm thông tin các mặt hàng mà khách hàng đã mua
1. Phân tích yêu cầu
Theo yêu cầu trên thì phải thiết kế một form có chứa:
- Các đối tượng có nội dung “TÌM KIẾM THÔNG TIN”, “Họ tên người bán hàng” là các Label.
- Các đối tượng thông tin tìm kiếm, kết quả tìm kiếm là các GroupBox.
- Ô nhập họ tên người bán hàng là một textbox
- Các nút Tìm, Đóng là các đối tượng Button
- Lưới hiển thị kết quả tìm kiếm là một DataGridView
Có thể bạn quan tâm!
- Thực hành lập trình CSDL với VB.net - 13
- Thực hành lập trình CSDL với VB.net - 14
- Thực hành lập trình CSDL với VB.net - 15
- Thực hành lập trình CSDL với VB.net - 17
- Thực hành lập trình CSDL với VB.net - 18
- Thực hành lập trình CSDL với VB.net - 19
Xem toàn bộ 318 trang tài liệu này.
2. Hướng dẫn thao tác
Thực hiện các thao tác tương tự để tạo form frmTimKiemNguoiBanHang và thiết lập thuộc tính cho các đối tượng trên form frmTimKiemNguoiBanHang phù hợp yêu cầu.
Viết đoạn mã lệnh cho các điều khiển trên form frmTimKiemNguoiBanHang 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 khi nhấn vào nút Đóng
Private Sub ButtonDong_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ButtonDong.Click 'Đóng form
Me.Close() End Sub
Mã lệnh khi nhấn vào nút Tìm
Private Sub ButtonTim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonTim.Click
If String.IsNullOrEmpty(TextBoxNguoiBanHang.Text) Then 'Thông báo
MessageBox.Show("Chưa nhập họ tên người bán hàng.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)
Me.TextBoxNguoiBanHang.Focus()
Else
'Thực hiện tìm kiếm và hiển thị kết quả trên lưới '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 tương đối theo tên khách hàng
sqlTimKiem = "SELECT tblChiTietHoaDon.SoHieuHD, tblMatHang.TenMatHang, tblMatHang.DVT, tblChiTietHoaDon.SoLuong, tblChiTietHoaDon.DonGia, tblChiTietHoaDon.DonGia * tblChiTietHoaDon.SoLuong AS ThanhTien FROM tblChiTietHoaDon, tblMatHang WHERE tblMatHang.MaMH = tblChiTietHoaDon.MaMH AND
tblChiTietHoaDon.SoHieuHD IN (SELECT SoHieuHD FROM tblBanHang WHERE NguoiBanHang LIKE '%" & TextBoxNguoiBanHang.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Đ" Me.DataGridView1.Columns(1).HeaderText = "Tên
mặt hàng"
lượng"
giá"
tiền"
Me.DataGridView1.Columns(2).HeaderText = "ĐVT" Me.DataGridView1.Columns(3).HeaderText = "Số
Me.DataGridView1.Columns(4).HeaderText = "Đơn
Me.DataGridView1.Columns(5).HeaderText = "Thành
GroupBox2.Text = "Kết quả tìm kiếm (" +
Me.DataGridView1.RowCount.ToString() + " kết quả)" cn.Close()
End Using
End Using End If
End Sub
3. Kết quả thiết kế
Hình 58. Kết quả thiết kế form tìm kiếm thông tin mặt hàng khách hàng đã mua
4. Kết quả thực thi
Hình 59. Kết quả thực thi form tìm kiếm thông tin mặt hàng khách hàng đã mua Công việc 5. Thiết kế một form để tìm kiếm thông tin về các lần bán một mặt
hàng 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.
Hình 60. Form tìm kiếm thông tin số lần một mặt hàng đã mua bời khách hàng
1. Phân tích yêu cầu
Theo yêu cầu trên thì phải thiết kế một form có chứa:
- Các đối tượng có nội dung “TÌM KIẾM THÔNG TIN”, “Họ tên người bán hàng”, “Mặt hàng” là các Label.
- Các đối tượng thông tin tìm kiếm, kết quả tìm kiếm là các GroupBox.
- Ô nhập họ tên người bán hàng là một textbox
- Danh sách lựa chọn mặt hàng là một Combobox.
- Các nút Tìm, Đóng là các đối tượng Button
- Lưới hiển thị kết quả tìm kiếm là một DataGridView
2. Hướng dẫn thao tác
Thực hiện các thao tác tương tự phần trên để tạo form frmTimKiemNguoiBanHangMatHang và thiết lập thuộc tính cho các đối tượng trên form frmTimKiemNguoiBanHangMatHang phù hợp yêu cầu.
Viết đoạn mã lệnh cho các điều khiển trên form frmTimKiemNguoiBanHangMatHang 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 khi form xuất hiện
Private Sub frmTimKiemNguoiBanHangMatHang_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'TODO: This line of code loads data into the 'QLYBHDataSet.tblMatHang' table. You can move, or remove it, as needed.
Me.TblMatHangTableAdapter.Fill(Me.QLYBHDataSet.tblMatHang) Me.ComboBoxMatHang.DataSource =
Me.QLYBHDataSet.tblMatHang Me.ComboBoxMatHang.DisplayMember = "TenMatHang" Me.ComboBoxMatHang.ValueMember = "MaMH"
End Sub
Mã lệnh khi nhấn vào nút Đóng
Private Sub ButtonDong_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ButtonDong.Click 'Đóng form
Me.Close() End Sub
Mã lệnh khi nhấn vào nút Tìm
Private Sub ButtonTim_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonTim.Click
If String.IsNullOrEmpty(TextBoxNguoiBanHang.Text) Then 'Thông báo
MessageBox.Show("Chưa nhập họ tên người bán hàng.", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error)
Me.TextBoxNguoiBanHang.Focus()
Else
'Thực hiện tìm kiếm và hiển thị kết quả trên lưới '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 tương đối theo tên khách hàng
sqlTimKiem = "SELECT tblChiTietHoaDon.SoHieuHD, tblMatHang.TenMatHang, tblMatHang.DVT, tblChiTietHoaDon.SoLuong, tblChiTietHoaDon.DonGia, tblChiTietHoaDon.DonGia * tblChiTietHoaDon.SoLuong AS ThanhTien FROM tblChiTietHoaDon, tblMatHang WHERE tblMatHang.MaMH = tblChiTietHoaDon.MaMH AND tblChiTietHoaDon.SoHieuHD IN (SELECT SoHieuHD FROM tblBanHang WHERE NguoiBanHang LIKE '%" & TextBoxNguoiBanHang.Text & "%') AND tblChiTietHoaDon.MaMH
= " & ComboBoxMatHang.SelectedValue
'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Đ"
Me.DataGridView1.Columns(1).HeaderText = "Tên
mặt hàng"
Me.DataGridView1.Columns(2).HeaderText = "ĐVT"
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
End Sub
3. Kết quả thiết kế
Hình 61. Kết quả thiết kế form tìm kiếm số lần mặt hàng khách hàng đã mua