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

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 1


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!

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 2

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 3


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 4


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

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