Tập bài giảng Thực hành lập trình cơ sở dữ liệu với VB.NET

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.

pdf155 trang | Chia sẻ: Tiểu Khải Minh | Ngày: 21/02/2024 | Lượt xem: 110 | Lượt tải: 0download
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:

  • pdftap_bai_giang_thuc_hanh_lap_trinh_co_so_du_lieu_voi_vb_net.pdf
  • pdftap_bg_thuc_hanh_lap_trinh_csdl_voi_vb_netp2_9005 (1)_2381800.pdf