Yêu cầu
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm điểm sinh viên:
+ Font: Microsoft Sans Serif, Bold, 18
+ Căn giữa màn hình form tìm kiếm theo chiều ngang
+ Mầu chữ: Xanh
- Các nhãn Mã sinh viên, Chọn môn học
+ Font: Microsoft Sans Serif, Bold, 9
+ Mầu chữ: Đen
- Danh sách môn học:
+ Font: Microsoft Sans Serif, Bold, 9
+ Mầu chữ: Đen
+ Nguồn dữ liệu danh sách môn học lấy từ bảng tblMonHoc
+ Nội dung hiển thị là tên môn học
- Nút lệnh Tìm kiếm
+ Font: Microsoft Sans Serif, Bold, 9
+ Mầu chữ: Đen
+ Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chương trình sẽ căn cứ vào điều kiện tìm kiếm chương trình sẽ đư a ra kết quả tìm kiếm các đơn vị gồm các thông tin: Họ tên sinh viên, Tên môn học, Số học phần, Điểm, Giáo viên và hiển thị ở trên DataGridView
phía dưới.
- Nút lệnh Kết thúc:
+ Font: Microsoft Sans Serif, Bold, 9
+ Mầu chữ: Đen
+ Phím nóng là: K
Khi nhấn vào nút lệnh hỏi người dùng có muốn kết thúc tìm kiếm không. Nếu chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
155 trang |
Chia sẻ: Tiểu Khải Minh | Ngày: 21/02/2024 | Lượt xem: 127 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Tập bài giảng Thực hành lập trình cơ sở dữ liệu với VB.NET, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
các thông số cho các điều khiển lần lƣợt nhƣ sau:
Label Tìm theo, Nội dung tìm kiếm thiết lập font chữ, mầu sắc, cỡ chữ tƣơng tự
nhƣ đối với label Tìm kiếm thông tin bên trên
Kéo điều khiển radio button từ cửa sổ Toolbox vào form và điều chỉnh vị trí
phù hợp. Thiết lập các thuộc tính cho điều khiển này tại cửa sổ Properties nhƣ sau:
Name: RadioButtonMa
Text: Mã khách hàng
Font name: Microsoft Sans Serif
Font size: 9
Các thuộc tính khác giữ nguyên mặc định
Làm tƣơng tự với 2 điều khiển radio button còn lại
Kéo điều khiển textbox từ cửa sổ Toolbox vào form và điều chỉnh kích thƣớc,
vị trí phù hợp. Thiết lập các thuộc tính cho điều khiển này tại cửa sổ Properties nhƣ
sau:
Name: TextBoxNoiDung
Font name: Microsoft Sans Serif
Font size: 9
Các thuộc tính khác giữ nguyên mặc định
Kéo điều khiển button từ cửa sổ Toolbox vào form và điều chỉnh kích thƣớc, vị
trí phù hợp. Thiết lập thuộc tính cho điều khiển này tại cửa sổ Properties nhƣ sau:
Name: ButtonTimKiem
Font name: Microsoft Sans Serif
Font size: 9
Text: &Tìm kiếm
Các thuộc tính khác giữ nguyên mặc định
83
Làm tƣơng tự với nút lệnh còn lại.
Kéo điều khiển Groupbox từ cửa sổ Toolbox vào form và điều chỉnh kích
thƣớc, vị trí phù hợp. Thiết lập các thuộc tính cho điều khiển này tại cửa sổ Properties
nhƣ sau:
Name: GroupBox2
Text: Kết quả tìm kiếm
Kéo điều khiển DataGridView từ cửa sổ Toolbox vào form và thiết lập các
thuộc tính cho điều khiển này tại cửa sổ Properties nhƣ sau:
Name: DataGridView1
Dock: Fill
AllowUserToAddRows: False
AllowUserToDeleteRows: False
SelectionMode: FullRowSelect
Các thuộc tính khác giữ nguyên mặc định
Tiến hành viết mã lệnh cho các điều khiển nhƣ sau:
Mã lệnh của điều khiển radiobutton Mã khách hàng
Private Sub RadioButtonMa_CheckedChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
RadioButtonMa.CheckedChanged
TextBoxNoiDung.Text = Nothing
TextBoxNoiDung.Enabled = RadioButtonMa.Checked
End Sub
Mã lệnh của điều khiển radiobutton Họ tên khách hàng
Private Sub RadioButtonHoTen_CheckedChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
RadioButtonHoTen.CheckedChanged
TextBoxNoiDung.Text = Nothing
84
TextBoxNoiDung.Enabled = RadioButtonHoTen.Checked
End Sub
Mã lệnh của điều khiển radiobutton Tất cả
Private Sub RadioButtonTatCa_CheckedChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
RadioButtonTatCa.CheckedChanged
TextBoxNoiDung.Text = Nothing
TextBoxNoiDung.Enabled = Not RadioButtonTatCa.Checked
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
'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
If RadioButtonMa.Checked Then
'Tìm kiếm theo mã khác hàng
sqlTimKiem = "SELECT * FROM tblKhachHang WHERE
[MaKH]=" & TextBoxNoiDung.Text
End If
If RadioButtonHoTen.Checked Then
'Tìm kiếm tương đối theo tên khách hàng
85
sqlTimKiem = "SELECT * FROM tblKhachHang WHERE HoTen
LIKE '%" & TextBoxNoiDung.Text & "%' ORDER BY HoTen, MaKH"
End If
If RadioButtonTatCa.Checked Then
'Hiển thị tất cả khách hàng
sqlTimKiem = "SELECT * FROM tblKhachHang ORDER BY
HoTen, MaKH"
End If
'Kết nối CSDL
'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 = "Mã khách
hàng"
Me.DataGridView1.Columns(1).HeaderText = "Họ tên khách
86
hàng"
Me.DataGridView1.Columns(2).HeaderText = "Giới tính"
Me.DataGridView1.Columns(3).HeaderText = "Địa chỉ"
Me.DataGridView1.Columns(4).HeaderText = "Điện thoại"
GroupBox2.Text = "Kết quả tìm kiếm (" +
Me.DataGridView1.RowCount.ToString() + " kết quả)"
cn.Close()
End Using
End Using
End Sub
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
87
3. Kết quả thiết kế:
Hình 43. Kết quả thiết kế form tìm kiếm khách hàng
4. Kết quả thực thi:
Hình 44. Kết quả thực thi form tìm kiếm khách hàng
88
Hình 45. Kết quả tìm kiếm khách hàng theo tên
Hình 46. Kết quả tìm kiếm tất cả các khách hàng
89
b) Tạo form tìm kiếm mặt hàng
1. Phân tích yêu cầu:
Tƣơng tự nhƣ form tìm kiếm khách hàng. Trên form frmTimKiemMatHang
phải có các đối tƣợng:
- Các đối tƣợng có nội dung “TÌM KIẾM THÔNG TIN”, “Tìm theo”, “Nội
dung tìm kiếm” là các Label.
- Các đối tƣợng lựa chọn Mã mặt hàng, Tên mặt hàng, Tất cả là các điều khiển
radio button.
- Ô nhập nội dung tìm kiếm là một textbox
- Các nút Tìm kiếm, Kết thúc 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ự để tạo form frmTimKiemMatHang và thiết lập
thuộc tính cho các đối tƣợng trên form frmTimKiemMatHang.
Viết đoạn mã lệnh cho các điều khiển trên form frmTimKiemMatHang 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 radiobutton Mã khách hàng
Private Sub RadioButtonMa_CheckedChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
RadioButtonMa.CheckedChanged
TextBoxNoiDung.Text = Nothing
TextBoxNoiDung.Enabled = RadioButtonMa.Checked
End Sub
Mã lệnh của điều khiển radiobutton Họ tên khách hàng
Private Sub RadioButtonTenHang_CheckedChanged(ByVal
90
sender As System.Object, ByVal e As System.EventArgs) Handles
RadioButtonHoTen.CheckedChanged
TextBoxNoiDung.Text = Nothing
TextBoxNoiDung.Enabled = RadioButtonTenHang.Checked
End Sub
Mã lệnh của điều khiển radiobutton Tất cả
Private Sub RadioButtonTatCa_CheckedChanged(ByVal sender
As System.Object, ByVal e As System.EventArgs) Handles
RadioButtonTatCa.CheckedChanged
TextBoxNoiDung.Text = Nothing
TextBoxNoiDung.Enabled = Not RadioButtonTatCa.Checked
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
'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
If RadioButtonMa.Checked Then
'Tìm kiếm theo mã mặt hàng
91
sqlTimKiem = "SELECT * FROM tblMatHang WHERE
MaMH=" & TextBoxNoiDung.Text
End If
If RadioButtonTenHang.Checked Then
'Tìm kiếm tương đối theo tên mặt hàng
sqlTimKiem = "SELECT * FROM tblMatHang WHERE
TenMatHang LIKE '%" & TextBoxNoiDung.Text & "%' ORDER BY
TenMatHang, MaMH"
End If
If RadioButtonTatCa.Checked Then
'Hiển thị tất cả mặt hàng
sqlTimKiem = "SELECT * FROM tblMatHang ORDER BY
TenMatHang, MaMH"
End If
'Kết nối CSDL
'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()
92
Dim da As New SqlDataAdapter(cmd)
da.Fill(ds)
Me.DataGridView1.DataSource =
ds.Tables(0).DefaultView
Me.DataGridView1.Columns(0).HeaderText = "Mã mặt
hàng"
Me.DataGridView1.Columns(1).HeaderText = "Tên mặt
hàng"
Me.DataGridView1.Columns(2).HeaderText = "Đơn vị
tính"
GroupBox2.Text = "Kết quả tìm kiếm (" +
Me.DataGridView1.RowCount.ToString() + " kết quả)"
cn.Close()
End Using
End Using
End Sub
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
93
3. Kết quả thiết kế
Hình 47. Kết quả thiết kế form tìm kiếm mặt hàng
4. Kết quả thực thi
Hình 48. Kết quả tìm kiếm mặt hàng theo mã
94
Hình 49. Kết quả tìm kiếm mặt hàng theo tên mặt hàng
Hình 50. Kết quả tìm kiếm tất cả mặt hàng
Công việc 2. Tạo form tìm kiếm thông tin bán hàng theo mẫu
95
Hình 51. Form tìm kiếm thông tin bán hàng
1. Phân tích yêu cầu
Theo yêu cầu trên thì phải có một form chứa:
- Các đối tƣợng có nội dung “TÌM KIẾM THÔNG TIN BÁN HÀNG”, “Mã
khách hàng”, “Tên khách 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 mã khách hàng, ô hiển thị tên khách hàng là các textbox. Ô hiển thị
tên khách hàng bị khóa không cho ngƣời dùng nhập vào.
- Các nút Tìm kiếm, Kết thúc 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 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:
+ Groupbox thông tin tìm kiếm:
Kéo điều khiển GroupBox từ cửa sổ Toolbox vào form. Nháy phải chuột vào
GroupBox chọn Properties và thiết lập các thuộc tính cho GroupBox này:
96
Text: Thông tin tìm kiếm
Các thuộc tính khác để mặt định.
Điều chỉnh vị trí và kích thƣớc của GroupBox cho phù hợp
+ Thao tác tƣơng tự để tạo Groupbox kết quả tìm kiếm.
+ 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
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
+ Ô 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
97
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ả
Kéo điều khiển DataGridView từ cửa sổ Toolbox vào trong Groupbox kết quả
tìm kiếm. Thiết lập các thuộc tính của nó tƣơng tự nhƣ 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 sự kiện TextChanged 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
98
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
99
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
100
'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
tblBanHang.SoHieuHD =" & TextBoxSoHieuHD.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"
101
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)
102
TextBoxMaKH.Focus()
End If
End Sub
3. Kết quả thiết kế
Hình 52. Kết quả thiết kế form tìm kiếm thông tin bán hàng
103
4. Kết quả thực thi:
Hình 53. Kết quả thực thi form tìm kiếm thông tin bán hàng
Công việc 3. Tạo form tìm kiếm thông tin bán hàng theo mẫu
Hình 54. Form tìm kiếm thông tin bán hàng
1. Phân tích yêu cầu:
Ngoài các đối tƣợng có trên form tìm kiếm ở phần trƣớc, ở form tìm kiếm này
đƣợc bổ xung thêm yêu cầu tìm kiếm với các điều kiện kết hợp nên trên form cần phải
104
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
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
105
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:
106
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
107
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)
108
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
109
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"
110
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
111
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 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 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.
112
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
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
113
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
114
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"
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
115
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.
116
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
117
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)
118
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 =
119
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
120
4. Kết quả thực thi
Hình 62. Kết quả thực thi form tìm kiếm số lần mặt hàng khách hàng đã mua
2.2.3. Bài tập thực hành
Bài tập số 1. Để quản lý việc phân công giảng dạy trong một học kỳ cho giáo
viên của khoa CNTT, khoa có một cơ sở dữ liệu QLYGD.MDF trong đó có các bảng:
tblGiaoVien(MaGV, HoTen, BoMon, DMGD)
tblMonHoc(Mamon, Tenmon, SoTinChi)
tblPhanCong(MaGV, MaMon, LHP, SSO)
Tiếp tục với bài tập số 1 đã thực hiện trong phần bài tập thực hành của bài 1 thực hiện
các công việc sau:
Công việc 1:
Thiết kế một form để tìm kiếm thông tin về giáo viên và hiển thị kết quả trên
form theo mẫu sau:
121
Hình 63. Form tìm kiếm thông tin giáo viên
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm thông tin:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Đỏ
- Các nhãn Tìm theo, Nội dung tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
122
Mầu chữ: Đen
- Các radio button Mã giáo viên, tên giáo viên, tất cả
Font: Microsoft Sans Serif, Bold, 9
Căn giữa theo chiều dọc
Mầu chữ: Đen
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào giá trị lựa chọn ở
các radio button trong phần Tìm theo và điều kiện tìm kiếm trong ô nội dung tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các giáo viên gồm các thông tin: Mã giáo
viên, Họ tên giáo viên, Bộ môn, Định mức giảng dạy và hiển thị ở trên DataGridView
phía dƣới.
Tìm theo mã giáo viên: Yêu cầu tìm chính xác theo mã giáo viên đƣợc nhập từ
bàn phím vào ô textbox nội dung tìm kiếm.
Tìm theo tên giáo viên: Yêu cầu tìm gần đúng theo tên giáo viên đƣợc nhập từ
bàn phím vào ô textbox nội dung tìm kiếm (ví dụ: nhập “an” ở ô nội dung tìm kiếm sẽ
trả về các kết quả Nguyễn Văn An, Trần Văn Anh, Mai Thế Cang, )
Tìm theo tất cả: Sẽ hiển thị tất cả các giáo viên. Danh sách kết quả sắp xếp theo
thứ tự từ điển.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
123
Công việc 2: Thiết kế một form để tìm kiếm thông tin về môn học và hiển thị kết quả
trên form theo mẫu sau:
Hình 64. Form tìm kiếm môn học
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm môn học:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Tìm theo, Nội dung tìm kiếm
124
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
- Các radio button Mã giáo viên, tên giáo viên, tất cả
Font: Microsoft Sans Serif, Bold, 9
Căn giữa theo chiều dọc
Mầu chữ: Đen
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các môn học gồm các thông tin: Mã môn học,
Tên môn học, Số tín chỉ và hiển thị ở trên DataGridView phía dƣới.
Tìm theo mã môn học: Yêu cầu tìm chính xác theo mã môn học đƣợc nhập từ
bàn phím vào ô textbox nội dung tìm kiếm.
Tìm theo tên môn học: Yêu cầu tìm gần đúng theo tên môn học đƣợc nhập từ
bàn phím vào ô textbox nội dung tìm kiếm (ví dụ: nhập “cơ sở” ở ô nội dung tìm kiếm
sẽ trả về các kết quả Hệ quản trị cơ sở dữ liệu, Cơ sở dữ liệu phân tán, Cơ sở dữ liệu
SQL Server, )
Tìm theo tất cả: Sẽ hiển thị tất cả các môn học. Danh sách kết quả sắp xếp theo
thứ tự từ điển.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Công việc 3. Thiết kế form tìm kiếm phân công của giáo viên theo mẫu sau
125
Hình 65. Tìm kiếm phân công giáo viên
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm phân công:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Mã giáo viên, Họ tên giáo viên
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
126
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các môn học gồm các thông tin: Môn học, lớp
học phần, sĩ số và hiển thị ở trên DataGridView phía dƣới.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Công việc 4. Thiết kế form tìm kiếm phân công của giáo viên theo môn học theo mẫu
sau
127
Hình 66. Tìm kiếm phân công giáo viên theo môn học
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm phân công:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Mã giáo viên, Chọn môn học
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
128
- Danh sách lựa chọn môn học:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Nguồn dữ liệu lấy từ bảng môn học
Dữ liệu hiển thị là tên môn học
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các môn học gồm các thông tin: Môn học, lớp
học phần, sĩ số và hiển thị ở trên DataGridView phía dƣới.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Bài tập số 2. Để quản lý tài sản của các đơn vị trong một trƣờng ngƣời ta tổ
chức một cơ sở dữ liệu QLTAISAN.MDF có các bảng nhƣ sau:
tblDonVi(MaDV, TenDV, ViTri, SoNhanVien)
tblTaiSan(MaTS, TenTS, DVT, HSD)
tblQuanLy(MaDV, MaTS, SoLuong, NgayCap, TinhTrang)
Tiếp tục với bài tập số 2 đã thực hiện trong phần bài tập thực hành của bài 1 thực hiện
các công việc sau:
Công việc 1: Thiết kế form tìm kiếm thông tin về đơn vị theo mẫu
129
Hình 67. Form tìm kiếm đơn vị
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm đơn vị:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Tìm theo, Nội dung tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
130
- Các radio button Mã giáo viên, tên giáo viên, tất cả
Font: Microsoft Sans Serif, Bold, 9
Căn giữa theo chiều dọc
Mầu chữ: Đen
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các đơn vị gồm các thông tin: Mã đơn vị, Tên
đơn vị, Số tín chỉ và hiển thị ở trên DataGridView phía dƣới.
Tìm theo mã đơn vị: Yêu cầu tìm chính xác theo mã đơn vị đƣợc nhập từ bàn
phím vào ô textbox nội dung tìm kiếm.
Tìm theo tên đơn vị: Yêu cầu tìm gần đúng theo tên đơn vị đƣợc nhập từ bàn
phím vào ô textbox nội dung tìm kiếm (ví dụ: nhập “phòng” ở ô nội dung tìm kiếm sẽ
trả về các kết quả phòng KH & HTQT, phòng đào tạo, )
Tìm theo tất cả: Sẽ hiển thị tất cả các đơn vị. Danh sách kết quả sắp xếp theo
thứ tự từ điển.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Công việc 2. Thiết kế form tìm kiếm thông tin về tài sản
131
Hình 68. Fom tìm kiếm tài sản
Yêu cầu
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm tài sản:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Tìm theo, Nội dung tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
132
- Các radio button Mã tài sản, tên tài sản, tất cả
Font: Microsoft Sans Serif, Bold, 9
Căn giữa theo chiều dọc
Mầu chữ: Đen
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các tài sản gồm các thông tin: Mã tài sản, Tên
tài sản, Số tín chỉ và hiển thị ở trên DataGridView phía dƣới.
Tìm theo mã tài sản: Yêu cầu tìm chính xác theo mã tài sản đƣợc nhập từ bàn
phím vào ô textbox nội dung tìm kiếm.
Tìm theo tên tài sản: Yêu cầu tìm gần đúng theo tên tài sản đƣợc nhập từ bàn
phím vào ô textbox nội dung tìm kiếm (ví dụ: nhập “máy” ở ô nội dung tìm kiếm sẽ trả
về các kết quả máy vi tính, máy tiện vạn năng, thang máy, )
Tìm theo tất cả: Sẽ hiển thị tất cả các tài sản. Danh sách kết quả sắp xếp theo
thứ tự từ điển.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Công việc 3: Thiết kế form tìm kiếm thông tin về tài sản thuộc đơn vị theo mẫu sau:
133
Hình 69. Fom tìm kiếm tài sản thuộc đơn vị
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm phân công:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Mã giáo viên, Chọn đơn vị
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
134
- Danh sách lựa chọn đơn vị:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Nguồn dữ liệu lấy từ bảng đơn vị
Dữ liệu hiển thị là tên đơn vị
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các đơn vị gồm các thông tin: Tài sản, số
lƣợng, ngày cấp, tình trạng và hiển thị ở trên DataGridView phía dƣới.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Công việc 4. Thiết kế form tìm kiếm thông tin về tài sản có tình trạng theo mẫu sau:
135
Hình 70. Form tìm kiếm tài sản theo tình trạng
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm phân công:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Mã giáo viên, Chọn đơn vị
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
136
- Danh sách lựa chọn tình trạng:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Nguồn dữ liệu lấy từ danh sách các tình trạng ở đƣợc lọc từ bảng
tblQuanLy, các tình trạng này là hiển thị duy nhất.
Dữ liệu hiển thị là tên tình trạng.
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các đơn vị gồm các thông tin: Tên đơn vị, Tên
tài sản, số lƣợng, ngày cấp và hiển thị ở trên DataGridView phía dƣới.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Bài tập số 3. Cho cơ sở dƣ̃ liêụ Quản lý đi ểm có tên QLDIEM .MDF gồm các
bảng:
tblSinhVien(MaSV, Hoten, Ngaysinh, Noisinh, Gioitinh, Diachi, Makhoa,
LopNC)
tblKhoa(Makhoa, Tenkhoa)
tblMonHoc(Mamon, Tenmon, Sohocphan, Giaovien)
tblDiem(Mamon, MaSV, Diem, HocKy)
Công việc 1: Thiết kế form tìm kiếm thông tin môn học
137
Hình 71. Form tìm kiếm môn học
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm môn học:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Mã môn học, Tên môn học
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
138
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các môn học gồm các thông tin: Mã môn học,
Tên môn học, Số học phần và hiển thị ở trên DataGridView phía dƣới.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Công việc 2: Thiết kế form tìm kiếm thông tin về khoa
139
Hình 72. Form tìm kiếm thông tin về khoa
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm khoa:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Mã khoa, Tên khoa
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
140
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các khoa gồm các thông tin: Mã khoa, Tên
khoa và hiển thị ở trên DataGridView phía dƣới.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Công việc 3: Thiết kế form tìm kiếm thông tin sinh viên theo mẫu sau:
Hình 73.Form tìm kiếm sinh viên
141
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm sinh viên:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Mã sinh viên, Họ tên sinh viên
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các sinh viên gồm các thông tin: Mã sinh
viên, Họ tên sinh viên, Ngày sinh, Nơi sinh, Giới tính, Địa chỉ và hiển thị ở trên
DataGridView phía dƣới.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Công việc 3: Thiết kế form tìm kiếm điểm của sinh viên trong học kỳ
142
Hình 74. Form tìm kiếm điểm của sinh viên theo học kỳ
Yêu cầu:
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm điểm sinh viên:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Mã sinh viên, Chọn học kỳ
Font: Microsoft Sans Serif, Bold, 9
143
Mầu chữ: Đen
- Danh sách học kỳ:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Giá trị học kỳ từ 1 đến 9.
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các đơn vị gồm các thông tin: Tên môn học,
Số học phần, Điểm, Giáo viên và hiển thị ở trên DataGridView phía dƣới.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
Công việc 4: Thiết kế form tìm kiếm điểm của các sinh viên theo môn học trong học
kỳ
144
Hình 75. Form tìm kiếm điểm sinh viên theo môn học
Yêu cầu
- Form có kiểu: FixedSingle
- Các nút thu nhỏ và phóng to của form bị ẩn
- Form xuất hiện chính giữa màn hình
- Nhãn Tìm kiếm điểm sinh viên:
Font: Microsoft Sans Serif, Bold, 18
Căn giữa màn hình form tìm kiếm theo chiều ngang
Mầu chữ: Xanh
- Các nhãn Mã sinh viên, Chọn môn học
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
- Danh sách môn học:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
145
Nguồn dữ liệu danh sách môn học lấy từ bảng tblMonHoc
Nội dung hiển thị là tên môn học
- Nút lệnh Tìm kiếm
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: T
Khi nhấn vào nút lệnh tìm kiếm, chƣơng trình sẽ căn cứ vào điều kiện tìm kiếm
chƣơng trình sẽ đƣa ra kết quả tìm kiếm các đơn vị gồm các thông tin: Họ tên sinh
viên, Tên môn học, Số học phần, Điểm, Giáo viên và hiển thị ở trên DataGridView
phía dƣới.
- Nút lệnh Kết thúc:
Font: Microsoft Sans Serif, Bold, 9
Mầu chữ: Đen
Phím nóng là: K
Khi nhấn vào nút lệnh hỏi ngƣời dùng có muốn kết thúc tìm kiếm không. Nếu
chọn Yes sẽ đóng form tìm kiếm. Nếu chọn No sẽ trở lại form.
2.3. Bài tập về nhà
Bài tập số 4. Hãy thiết kế cơ sở dữ liệu phù hợp và các form cần thiết cho việc tìm
kiếm thông tin tại xuất nhập kho công ty BCD
Bài tập số 5. Hãy thiết kế cơ sở dữ liệu phù hợp và các form cần thiết cho việc tìm
kiếm thông tin thƣ viện tại trƣờng XYZ
Bài tập số 6. Hãy thiết kế cơ sở dữ liệu phù hợp và các form cần thiết cho việc tìm
kiếm thông tin ký túc xá
Bài tập số 7. Hãy thiết kế cơ sở dữ liệu phù hợp và các form cần thiết cho việc tìm
kiếm thông tin các đề tài khoa học tại trƣờng đại học SPK
Bài tập số 8. Hãy thiết kế cơ sở dữ liệu phù hợp và các form cần thiết cho việc tìm
kiếm thông tin giải bóng đá vô địch quốc gia
Bài tập số 9. Hãy thiết kế cơ sở dữ liệu phù hợp và các form cần thiết cho việc tìm
kiếm thông tin nhân sự tại công ty ABC
146
Bài tập số 10. Hãy thiết kế cơ sở dữ liệu phù hợp và các form cần thiết cho việc tìm
kiếm thông tin thi đua khen thƣởng tại công ty ABC
Các file đính kèm theo tài liệu này:
- tap_bai_giang_thuc_hanh_lap_trinh_co_so_du_lieu_voi_vb_net.pdf
- tap_bg_thuc_hanh_lap_trinh_csdl_voi_vb_netp2_9005 (1)_2381800.pdf