1. Trang chủ
  2. » Cao đẳng - Đại học

Bộ môn cơ sở dữ liệu tiểu luận hệ thống quản lý thí sinh và điểm thi

44 36 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 765,81 KB

Nội dung

TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI ng c om KHOA ĐIỆN TỬ - VIỄN THÔNG co BÁO CÁO BÀI TẬP LỚN an MÔN CƠ SỞ DỮ LIỆU du on g th HỆ THỐNG QUẢN LÝ THÍ SINH VÀ ĐIỂM THI cu u Giáo viên hƣớng dẫn: Thầy Nguyễn Hoài Giang Nhóm : AFC ĐT9 - K47 Các thành viên: Nguyễn Trung Thu (NT) Đặng Hữu Tùng Nguyễn Đình Tuấn Vũ Ngọc Hà Nguyễn Công Chiến Khuất Bá Đông Hà nội, 5/2005 CuuDuongThanCong.com https://fb.com/tailieudientucntt MỤC LỤC Yêu cầu hệ thống quản lý thí sinh điểm thi Phần I: Nhận diện thực thể hệ thống Phần II: Các giả thiết phụ thuộc hàm Phần III: Chuần hóa Chuẩn hóa 3NF Chuẩn hóa BCNF om Nhận diện khóa khóa ứng củ bảng Phần IV: Sơ đồ thực thể liên kết c Từ điển liệu hệ thống đƣợc chuẩn hóa 9 12 Phần VI: Thiết kế chƣơng trình 13 co ng Phần V: Lƣợc đồ khái niệm hệ thống đƣợc chuẩn hóa Phần VII: Các thủ tục đảm bảo nguyên tắc toàn vẹn liệu 15 an Phần VIII: Chƣơng trình nguồn 17 Form nhập Điểm thi 21 Form cập nhật Tỉnh/Thành phố 29 Form nhập môn thi cho khối 33 Form tìm kiếm thí sinh 38 Form tìm kiếm điểm thi thí sinh 41 cu u du on g th Form Nhập thơng tin Thí sinh Phần IX: Các bảng liệu mẫu 45 Thống kê điểm trung bình thí sinh theo vùng 47 Thống kê thí sinh đỗ Tỉnh/Thành phố 48 Phần X: Hƣớng dẫn sử dụng chƣơng trình CuuDuongThanCong.com 49 https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 YÊU CẦU CỦA HỆ THỐNG QUẢN LÝ THÍ SINH VÀ ĐIỂM THI cu u du on g th an co ng c om I Thông tin cần lƣu trữ Thơng tin thí sinh: - Số báo danh thí sinh - Họ tên thí sinh - Ngày tháng năm sinh - Giới tính - Địa (Bao gồm thành phố/tỉnh, quận/huyện, phƣờng/xã, tên phố/xóm, số nhà) - Mã vùng - Số phách môn thi - Điểm môn thi II Các chức chƣơng trình Nhập liệu Sửa liệu Tìm kiếm thí sinh theo: - Số báo danh - Tên thí sinh - Ngày tháng năm sinh Tìm kiếm điểm thí sinh theo: - Số báo danh - Số phách Xem tồn thơng tin đƣợc xếp: - Sắp xếp thí sinh kèm theo thông tin điểm môn học thí sinh - Sắp xếp theo tổng điểm thi kèm theo thơng tin thí sinh điểm môn thi Lập báo cáo thống kê điểm trung bình thí sinh theo vùng gồm thông tin về: - Số báo danh - Họ tên thí sinh - Ngày tháng năm sinh - Giới tính - Điểm trung bình thí sinh - Điểm trung bình thí sinh vùng Lập báo cáo thống kê tỷ lệ thí sinh đỗ tỉnh/thành phố, bao gồm thông tin về: - Số báo danh - Họ tên thí sinh - Ngày tháng năm sinh - Giới tính - Điểm trung bình thí sinh - Tỷ lệ thí sinh thi đỗ thành phố/tỉnh - Tỷ lệ thí sinh thi đỗ tất thành phố/tỉnh CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 PHẦN I: NHẬN DIỆN THỰC THỂ I Thực thể THÍ SINH Để tiện cho việc xếp thí sinh ta tách thuộc tính Họ tên thí sinh thành Họ đệm thí sinh Tên thí sinh Để tiện cho việc quản lý thí sinh, ta đƣa thêm thc tính Đối tượng Mã đối tượng, Khối thi Mã Khối thi Để dễ dàng xác định thí sinh đỗ hay trƣợt ta thêm thuộc tính Điểm chuẩn khối Tách thuộc tính Địa thành thuộc tính nhỏ Vậy thực thể THÍ SINH bao gồm thuộc tính sau: om Kiểu liệu Character(15) Character(30) Character(20) Date/Time Character(5) Character(30) Character(30) Character(30) Character(30) Character(10) Numeric(4) Character(2) Numeric(2) Character(30) Numeric(2) Character(255) Numeric(5) th an co ng c Ký hiệu Sbd Ho Ten NgaySinh GioiTinh Tp Qh Pxa Pxom SoNha Mv Khoi MaKhoi Dt MaDt GChu DiemChuan u du on g Thuộc tính Số báo danh Họ đệm Tên Ngày tháng năm sinh Giới tính Thành phố/tỉnh Quận/huyện Phƣờng/xã Tên phố/xóm Số nhà Mã vùng Khối thi Mã khối Đối tƣợng Mã đối tƣợng Ghi Điểm chuẩn cu STT 10 11 12 13 14 15 16 17 II Thực thể ĐIỂM THI Để xác định điểm thi môn ta đƣa thêm thuộc tính Mơn thi Mã mơn thi Vậy thực thể ĐIỂM THI gồm thuộc tính sau: STT Thuộc tính Ký hiệu Kiểu liệu Số báo danh Sbd Character(15) Số phách (của môn thi) SoPhach Character(15) Mã môn MaMon Numeric(2) Tên môn Mon Character(20) Điểm thi (của môn thi) Diem Numeric(4) CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 PHẦN II: CÁC GIẢ THIẾT VỀ CÁC PHỤ THUỘC HÀM Giả thiết số báo danh thí sinh thí sinh có Họ đệm, Tên, Ngày sinh, Giới tính, Ghi chú, thí sinh có địa chỉ: Thành phố/Tỉnh, Quận/Huyện, Phƣờng/Xã, Phố/Xóm Số nhà, Mã vùng Do thuộc tính phụ thuộc hàm vào thuộc tính Số báo danh cu u du on g th an co ng c om Sbd  Ho Sbd  Ten Sbd  NgaySinh Sbd  GioiTinh Sbd  Gchu Sbd  Tp Sbd  Qh Sbd  Pxa Sbd  Pxom Sbd  SoNha Sbd  Mv Mỗi đối tƣợng đƣợc xác định MaDt  Dt Mã đối tƣợng nên Đối tƣợng phụ thuộc hàm vào Mã Đối tƣợng Giả thiết Khối thi có điểm chuẩn, mà MaKhoi  Khoi khối thi đƣợc xác định Mã khối MaKhoi  DiemChuan nên Khối thi Điểm chuẩn phụ thuộc hàm vào Mã khối Giả thiết thí sinh thuộc loại Sbd  Dt đối tƣợng mà Số báo danh xác định thí Sbd  MaDt sinh nên Đối tƣợng Mã đối tƣợng phụ thuộc hàm vào Số báo danh Giả thiết với số báo danh dùng cho thí Sbd  Khoi sinh thi khối nên khối thi mã khối thi Sbd  MaKhoi phụ thuộc hàm vào Số báo danh Giả thiết mã vùng xác định thành Mv  Tp phố, thành phố có mã Tp  Mv vùng Mỗi môn thi đƣợc xác định Mã môn MaMon  Mon thi nên Môn thi phụ thuộc hàm vào Mã môn Giả thiết thi môn đƣợc đánh số (SoPhach, Mon)  Diem phách ngẫu nhiên trùng Vì (SoPhach, Mon)  Sbd số phách ứng với môn thi định xác định điểm thi mơn 10 Một thí sinh thi nhiều mơn thi khác nên (Sbd, Mon)  Diem điểm mơn thí sinh đƣợc xác định nhờ Số (Sbd, Mon)  SoPhach báo danh Tên môn Đồng thời với ngƣời quản trị (Nhập/sửa liệu), số phách thi hoàn toàn xác định biết Số báo danh Tên môn thi CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 PHẦN III: CHUẨN HĨA Nhận diện khóa khóa ứng cử Từ thực thể phụ thuộc hàm xác định ta có quan hệ sau: THÍ SINH(*Sbd, Ho, Ten, NgaySinh, GioiTinh, Tp, Qh, Pxa, Pxom, SoNha, Mv, Dt, MaDt, Khoi, Makhoi, DiemChuan, T H I S IN H GChu) P_key: Sbd *S b d C_key: Sbd Ho Ten N g a y S in h om G io iT in h c D IE M T H I *S b d ng *M o n *-M a M o n *-S o P h a c h co D ie m Tp Qh P xa P xom SoN Mv M aD t Dt M aKhoi Khoi an D ie m C h u a n G C hu du on g th ĐIỂM THI(*Sbd, *Mon, *-MaMon, *-SoPhach, Diem) P_key: (Sbd, Mon) C_key: (Sophach, Mon) C_key: (Sbd, MaMon) C_key: (SoPhach, MaMon) Chuẩn hóa 1NF: cu u Cả bảng dạng chuẩn 1NF tất thuộc tính có tính chất ngun tố Chuẩn hóa 2NF: Bảng THÍ SINH dạng chuẩn NF có khóa gồm thuộc tính Bảng ĐIỂM THI có phụ thuộc hàm: MaMon  Mon Thuộc tính Mơn phụ thuộc hàm khơng đầy đủ vào khóa Tách bảng ĐIỂM THI thành bảng ĐIỂM THI MÔN THI nhƣ sau: ĐIỂM THI(*Sbd, *MaMon, *-SoPhach, Diem) MÔN THI(* MaMon, *-Mon) D IE M T H I M O N THI *S b d *M o n *M a M o n *-M a M o n *-S o P h a c h D ie m CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 Chuẩn hóa 3NF Bảng THÍ SINH chƣa dạng 3NF có phụ thuộc hàm bắc cầu sau: Sbd  Mv Mv  Tp Sbd  MaKhoi MaKhoi  Khoi Sbd  MaDt MaDt  Dt Ta tách bảng THÍ SINH thành bảng sau: THÍ SINH(*Sbd, Ho, Ten, NgaySinh, GioiTinh, Qh, Pxa, Pxom, SoNha, Mv, MaDt, Makhoi, Gchu) T H I S IN H om *S b d Ho Ten G io iT in h Qh P xa P xom SoNha Mv M aD t M aKhoi an MÃ VÙNG(*Mv, *-Tp) co ng c N g a y S in h G Chu MA VUNG th *M v g *-T p DO I TUO NG *M a D t *-D t cu u du on ĐỐI TƢỢNG(*MaDt, *- Dt) KHỐI THI(*MaKhoi, *-Khoi, DiemChuan) KHO I THI *M a K h o i *-K h o i D ie m C h u a n Các bảng sau tách thỏa mãn điều kiện 3NF thuộc tính khơng khóa khơng phụ thuộc hàm bắc cầu vào khóa thơng qua thuộc tính khơng khóa khác CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 Chuẩn hóa BCNF: c ĐIỂM CHUẨN(*Khoi, DiemChuan) ng Và om Các bảng MÃ VÙNG, ĐỐI TƢỢNG dạng chuẩn BCNF thuộc tính định khóa ứng cử khơng cịn phụ thuộc hàm bắc cầu Bảng THÍ SINH dạng chuẩn có khóa đồng thời khóa ứng cử Bảng Khối thi có phụ thuộc hàm bắc cầu MaKhoi  Khoi Khoi  DiemChuan  MaKhoi  DiemChuan Ta tách bảng bảng sau: KHỐI THI(*MaKhoi, *-Khoi) KHO I THI *M a K h o i *-K h o i D IE M C H U A N *M a K h o i D ie m C h u a n g th an co Bàng ĐIỂM THI có phụ thuộc hàm bắc cầu: (Sbd, MaMon)  SoPhach (Sbd, Sophach)  Diem  (Sbd, MaMon)  Diem Ta tách bảng ĐIỂM THI thành bảng sau: SỐ PHÁCH(*Sbd, *MaMon, *-SoPhach) on *S b d *M a M o n du *-S o P h a c h ĐIỂM THI(*Sbd, *MaMon, Diem) D IE M T H I u Và SO PHACH cu *S b d *M a M o n D ie m Do hai bảng MÔN THI VÀ KHỐI THI có quan hệ n – n nên ta có bảng MƠN KHỐI Bảng có quan hệ n – với bảng MÔN THI, KHỐI THI MON KHOI *M a K h o i *M a M o n G C hu CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 PHẦN IV: SƠ ĐỒ THỰC THỂ LIÊN KẾT an co ng c om Sơ đồ thực thể liên kết g th Sơ đồ đƣợc dùng lập báo cáo Thực tế lập trình, việc chuẩn hóa dừng lại mức 3NF đơn giản Tên đầy đủ Thí sinh Điểm thi Mã vùng cu u du Tên viết tắt THI SINH DIEM THI MA VUNG on Từ điển liệu hệ thống chuẩn hóa MON THI KHOI THI MON KHOI DOI TUONG Môn thi Khối thi Môn thi – Khối thi Đối tƣợng Mô tả Thông tin thí sinh Điểm thi thí sinh ứng với môn Danh sách thành phố/tỉnh kèm theo mã vùng tƣơng ứng Danh sách môn thi mã môn Danh sách khối thi mã khối Danh sách môn thi tƣơng ứng với khối thi Danh sách đối tƣợng tƣơng ứng với mã CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 2.2 Danh sách thuộc tính bảng 2.2.1 Bảng THÍ SINH Khoảng Kiểu liệu giá trị Giá trị mẫu Khóa Character 15 BKA11234 P_key Number 2 P_key number 8,25 g th an Tên đầy đủ Số báo danh mã môn thi Điểm thi môn on TT Tên viết tắt Sbd MaMon Diem co 2.2.2 Bảng ĐIỂM THI Khoảng Kiểu liệu giá trị Giá trị mẫu Khóa Character 15 BKA11234 P_key Text 30 Nguyễn Trung Text 20 Thu Date/time 10 08/10/1984 Nam/nữ Nam Number 04 Text 30 Từ Liêm Text 30 Cầu Diễn Text 30 Xóm Sếp Text 10 8C Number Number 2 Text 255 Khơng có om Tên đầy đủ Số báo danh Họ đệm thí sinh Tên thí sinh Ngày tháng năm sinh Giới tính Mã vùng Quận/huyện Phƣờng /xã Tên phố/xóm Số nhà Mã khối Mã đối tƣợng Ghi c Tên viết tắt Sbd Ho Ten NgaySinh GioiTinh Mv Qh Pxa Pxom SoNha MaKhoi MaDt GChu ng TT 10 11 12 13 Tên đầy đủ Số báo danh mã môn thi Số phách u cu TT Tên viết tắt Sbd MaMon SoPhach du 2.2.3 Bảng SỐ PHÁCH Khoảng Kiểu liệu giá trị Giá trị mẫu Character 15 BKA11234 Number 2 Number 10 332114 Khóa P_key P_key C_key 2.2.4 Bảng MƠN THI Tên viết TT tắt MaMon Mon Tên đầy đủ mã môn thi Tên môn thi Khoảng Kiểu liệu giá trị Giá trị mẫu number text 20 Tốn Khóa P_key C_key Khoảng Kiểu liệu giá trị Giá trị mẫu Number text A Khóa P_key C_key 2.2.5 Bảng KHỐI THI Tên viết TT tắt MaKhoi Khoi Tên đầy đủ Mã khối Tên khối thi 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 Dim mbDataChanged As Boolean Private Sub Form_Load() Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\du an AFC243\afc.mdb;" Set adoPrimaryRS = New Recordset adoPrimaryRS.Open "select Mv,Tp from Mavung Order by Mv", db, adOpenStatic, adLockOptimistic c om Set grdDataGrid.DataSource = adoPrimaryRS grdDataGrid.AllowUpdate = False mbDataChanged = False End Sub cu u du on g th an co ng Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If mbEditFlag Or mbAddNewFlag Then Exit Sub Select Case KeyCode Case vbKeyEscape cmdClose_Click Case vbKeyEnd cmdLast_Click Case vbKeyHome cmdFirst_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdFirst_Click Else cmdPrevious_Click End If Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdLast_Click Else cmdNext_Click End If End Select End Sub Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) ‘Hiển thị số thứ tự ghi 30 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 lblStatus.Caption = "Record: " & CStr(adoPrimaryRS.AbsolutePosition) End Sub c ng co an th Private Sub cmdDelete_Click() On Error GoTo DeleteErr With adoPrimaryRS Delete MoveNext If EOF Then MoveLast End With Exit Sub DeleteErr: MsgBox Err.Description End Sub om Private Sub cmdAdd_Click() grdDataGrid.AllowUpdate = True SetButtons False On Error GoTo AddErr adoPrimaryRS.MoveLast adoPrimaryRS.AddNew grdDataGrid.SetFocus Exit Sub AddErr: MsgBox Err.Description End Sub cu u du on g Private Sub cmdEdit_Click() grdDataGrid.AllowUpdate = True On Error GoTo EditErr mbEditFlag = True SetButtons False Exit Sub EditErr: MsgBox Err.Description End Sub Private Sub cmdCancel_Click() grdDataGrid.AllowUpdate = False On Error Resume Next SetButtons True mbEditFlag = False mbAddNewFlag = False adoPrimaryRS.CancelUpdate If mvBookMark > Then adoPrimaryRS.Bookmark = mvBookMark Else adoPrimaryRS.MoveFirst End If mbDataChanged = False 31 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 End Sub c om Private Sub cmdUpdate_Click() On Error GoTo UpdateErr adoPrimaryRS.UpdateBatch adAffectAll If mbAddNewFlag Then adoPrimaryRS.MoveLast End If mbEditFlag = False mbAddNewFlag = False SetButtons True mbDataChanged = False grdDataGrid.AllowUpdate = False Exit Sub UpdateErr: MsgBox Err.Description End Sub co an th du on g Private Sub cmdFirst_Click() On Error GoTo GoFirstError adoPrimaryRS.MoveFirst mbDataChanged = False Exit Sub GoFirstError: MsgBox Err.Description End Sub ng Private Sub cmdClose_Click() Unload Me End Sub cu u Private Sub cmdLast_Click() On Error GoTo GoLastError adoPrimaryRS.MoveLast mbDataChanged = False Exit Sub GoLastError: MsgBox Err.Description End Sub Private Sub cmdNext_Click() On Error GoTo GoNextError If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount > Then Beep adoPrimaryRS.MoveLast End If mbDataChanged = False Exit Sub GoNextError: 32 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 MsgBox Err.Description End Sub c ng co on g th an Private Sub SetButtons(bVal As Boolean) cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bVal End Sub om Private Sub cmdPrevious_Click() On Error GoTo GoPrevError If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount > Then Beep adoPrimaryRS.MoveFirst End If mbDataChanged = False Exit Sub GoPrevError: MsgBox Err.Description End Sub du Form Nhập Môn thi cho khối frnMon_Khoi Sử dụng ADO Code dƣới hình thức Single Record cu u Option Explicit Dim WithEvents adoPrimaryRS As Recordset Dim WithEvents rsKhoi As Recordset Dim WithEvents rsMon As Recordset Dim mbChangedByCode As Boolean Dim mvBookMark As Variant Dim mbEditFlag As Boolean Dim mbAddNewFlag As Boolean Dim mbDataChanged As Boolean Private Sub Commit() ‘Đảm bảo tính tồn vẹn liệu (xem phần VI) Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\du an AFC243\afc.mdb;" Set rsKhoi = New Recordset Set rsMon = New Recordset rsKhoi.Open "select * from Khoi where Khoi = '" & dcbKhoi & "'", db 33 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 With rsKhoi txtFields(1).Text = Fields("MaKhoi") End With rsMon.Open "select * from Mon where Mon = '" & dcbMon & "'", db With rsMon txtFields(2).Text = Fields("MaMon") End With End Sub Private Sub Command1_Click() ‘Hiện thị danh sách môn thi thuộc khối frmMonKhoiList.Show End Sub ng c om Private Sub Form_Load() LockText ' khoa tat ca cac textbox Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Du an AFC243\afc.mdb;" an co Set adoPrimaryRS = New Recordset adoPrimaryRS.Open "select Gchu,MaKhoi,MaMon from Mon_Khoi Order by MaKhoi", db, adOpenStatic, adLockOptimistic du on g th Dim oText As TextBox 'Bind the text boxes to the data provider For Each oText In Me.txtFields Set oText.DataSource = adoPrimaryRS Next mbDataChanged = False End Sub cu u Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) ‘Thực lệnh số phím quen thuộc đƣợc nhấn If mbEditFlag Or mbAddNewFlag Then Exit Sub Select Case KeyCode Case vbKeyEscape cmdClose_Click Case vbKeyEnd cmdLast_Click Case vbKeyHome cmdFirst_Click Case vbKeyUp, vbKeyPageUp If Shift = vbCtrlMask Then cmdFirst_Click Else cmdPrevious_Click End If 34 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 Case vbKeyDown, vbKeyPageDown If Shift = vbCtrlMask Then cmdLast_Click Else cmdNext_Click End If End Select End Sub Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefault End Sub co an cu u du on g th Private Sub cmdAdd_Click() UnlockText On Error GoTo AddErr With adoPrimaryRS If Not (.BOF And EOF) Then mvBookMark = Bookmark End If AddNew mbAddNewFlag = True SetButtons False End With Exit Sub AddErr: MsgBox Err.Description End Sub ng c om Private Sub adoPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError As ADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset) ‘Hiển thị số thứ tự ghi lblStatus.Caption = "Record: " & CStr(adoPrimaryRS.AbsolutePosition) End Sub Private Sub cmdDelete_Click() On Error GoTo DeleteErr With adoPrimaryRS Delete MoveNext If EOF Then MoveLast End With Exit Sub DeleteErr: MsgBox Err.Description End Sub Private Sub cmdEdit_Click() UnlockText 35 CuuDuongThanCong.com https://fb.com/tailieudientucntt Nhóm AFC ĐT9 K47 c ng cu u du on g th an Private Sub cmdUpdate_Click() Commit On Error GoTo UpdateErr adoPrimaryRS.UpdateBatch adAffectAll If mbAddNewFlag Then adoPrimaryRS.MoveLast End If mbEditFlag = False mbAddNewFlag = False SetButtons True mbDataChanged = False LockText Exit Sub UpdateErr: MsgBox Err.Description End Sub co On Error GoTo EditErr lblStatus.Caption = "Edit record" mbEditFlag = True SetButtons False Exit Sub EditErr: MsgBox Err.Description End Sub Private Sub cmdCancel_Click() On Error Resume Next SetButtons True mbEditFlag = False mbAddNewFlag = False adoPrimaryRS.CancelUpdate If mvBookMark > Then adoPrimaryRS.Bookmark = mvBookMark Else adoPrimaryRS.MoveFirst End If mbDataChanged = False LockText End Sub om Hệ thống quản lý Thí sinh Điểm thi Private Sub cmdClose_Click() Unload Me End Sub Private Sub cmdFirst_Click() On Error GoTo GoFirstError adoPrimaryRS.MoveFirst mbDataChanged = False Exit Sub GoFirstError: 36 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 MsgBox Err.Description End Sub Private Sub cmdLast_Click() On Error GoTo GoLastError adoPrimaryRS.MoveLast mbDataChanged = False Exit Sub GoLastError: MsgBox Err.Description End Sub an co ng c om Private Sub cmdNext_Click() On Error GoTo GoNextError If Not adoPrimaryRS.EOF Then adoPrimaryRS.MoveNext If adoPrimaryRS.EOF And adoPrimaryRS.RecordCount > Then Beep adoPrimaryRS.MoveLast End If mbDataChanged = False Exit Sub GoNextError: MsgBox Err.Description End Sub cu u du on g th Private Sub cmdPrevious_Click() On Error GoTo GoPrevError If Not adoPrimaryRS.BOF Then adoPrimaryRS.MovePrevious If adoPrimaryRS.BOF And adoPrimaryRS.RecordCount > Then Beep adoPrimaryRS.MoveFirst End If mbDataChanged = False Exit Sub GoPrevError: MsgBox Err.Description End Sub Private Sub SetButtons(bVal As Boolean) cmdAdd.Visible = bVal cmdEdit.Visible = bVal cmdUpdate.Visible = Not bVal cmdCancel.Visible = Not bVal cmdDelete.Visible = bVal cmdClose.Visible = bVal cmdNext.Enabled = bVal cmdFirst.Enabled = bVal cmdLast.Enabled = bVal cmdPrevious.Enabled = bVal End Sub 37 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 Private Sub LockText() txtFields(0).Locked = True dcbKhoi.Locked = True dcbMon.Locked = True End Sub Private Sub UnlockText() txtFields(0).Locked = False dcbKhoi.Locked = False dcbMon.Locked = False End Sub Form Tìm kiếm Thí sinh frmTimTs c om Option Explicit Dim WithEvents rs As Recordset Dim WithEvents rs1 As Recordset ‘Thủ tục đƣợc gọi Click nút Tìm co ng Private Sub cmdTim_Click() ListKq.ListItems.Clear txtTim.SetFocus TimKiem End Sub du on g th an Private Sub cmdTim_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 TimKiem txtTim.SetFocus End Select End Sub cu u Private Sub TimKiem() ‘Tìm kiếm thí sinh theo SBD, Tên, Ngày sinh Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\du an AFC243\afc.mdb;" Set rs = New Recordset Dim Message Init If optSbd.Value Then rs.Open "select * from Thisinh where sbd = " & UCase(Trim(txtTim)) & "", db End If If OptTen.Value Then rs.Open "select * from Thisinh where Ten like '%" & Trim(txtTim) & "%'", db End If If OptNs.Value Then rs.Open "select * from Thisinh where Ngaysinh like '%" & Trim(txtTim) & "%'", db End If 38 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 If rs.EOF = False Then fraKetqua.Enabled = True DisplayListviewKq Else MsgBox " Khong tim thay thi sinh nao" & Message, vbExclamation + vbOKOnly, "Thơng bo" End If End Sub c om Private Sub DisplayListviewKq() ‘Hiển thị kết tìm đƣợc Set rs = New Recordset Set rs1 = New Recordset Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\du an AFC243\afc.mdb;" Dim mItem As ListItem cu u du on g th an co ng If optSbd.Value Then ‘Tìm kiếm theo Số báo danh rs.Open "select * from Thisinh where sbd = " & UCase(Trim(txtTim)) & "", db Set mItem = ListKq.ListItems.Add(, , UCase(rs!Sbd)) mItem.SubItems(1) = rs!Ho mItem.SubItems(2) = rs!Ten mItem.SubItems(3) = rs!Ngaysinh mItem.SubItems(4) = rs!Gioitinh mItem.SubItems(6) = rs!Qh mItem.SubItems(7) = rs!Pxa mItem.SubItems(8) = rs!Pxom mItem.SubItems(9) = rs!Sonha rs1.Open "select Tp from Mavung where Mv = " & rs!Mv & "", db mItem.SubItems(5) = rs1!Tp rs1.Close rs1.Open "select Dt from Doituong where MaDt = " & rs!MaDt & "", db mItem.SubItems(10) = rs1!Dt rs.Close rs1.Close End If If OptTen.Value Then ‘Tìm kiếm theo Tên rs.Open "select * from Thisinh where Ten like '%" & Trim(txtTim) & "%'", db While Not rs.EOF Set mItem = ListKq.ListItems.Add(, , UCase(rs!Sbd)) mItem.SubItems(1) = rs!Ho mItem.SubItems(2) = rs!Ten mItem.SubItems(3) = rs!Ngaysinh mItem.SubItems(4) = rs!Gioitinh mItem.SubItems(6) = rs!Qh mItem.SubItems(7) = rs!Pxa mItem.SubItems(8) = rs!Pxom 39 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 mItem.SubItems(9) = rs!Sonha rs1.Open "select Tp from Mavung where Mv = " & rs!Mv & "", db mItem.SubItems(5) = rs1!Tp rs1.Close rs1.Open "select Dt from Doituong where MaDt = " & rs!MaDt & "", db mItem.SubItems(10) = rs1!Dt rs1.Close rs.MoveNext Wend rs.Close End If cu u du on g th an co ng c om If OptNs.Value Then ‘Tìm kiếm theo Ngày sinh rs.Open "select * from Thisinh where Ngaysinh like '%" & Trim(txtTim) & "%'", db While Not rs.EOF Set mItem = ListKq.ListItems.Add(, , UCase(rs!Sbd)) mItem.SubItems(1) = rs!Ho mItem.SubItems(2) = rs!Ten mItem.SubItems(3) = rs!Ngaysinh mItem.SubItems(4) = rs!Gioitinh mItem.SubItems(6) = rs!Qh mItem.SubItems(7) = rs!Pxa mItem.SubItems(8) = rs!Pxom mItem.SubItems(9) = rs!Sonha rs1.Open "select Tp from Mavung where Mv = " & rs!Mv & "", db mItem.SubItems(5) = rs1!Tp rs1.Close rs1.Open "select Dt from Doituong where MaDt = " & rs!MaDt & "", db mItem.SubItems(10) = rs1!Dt rs1.Close rs.MoveNext Wend rs.Close End If End Sub Private Sub Init() ‘Khởi tạo ban đầu ListKq.ListItems.Clear fraKetqua.Enabled = False End Sub Private Sub Command5_Click() Me.Hide rptsxten.Show End Sub Private Sub Form_Load() Init txtTim = "" End Sub 40 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 Private Sub txtTim_KeyPress(KeyAscii As Integer) ‘Thủ tục sau ấn phím Enter ‘ngay sau nhập từ khóa tìm kiếm Select Case KeyAscii Case 13 TimKiem txtTim.SetFocus End Select End Sub Private Sub CmdThoat_Click() Unload Me End Sub om Form Tìm kiếm Điểm thi thí sinh ng co an th Private Sub cmdTim_Click() ListTs.ListItems.Clear txtTim.SetFocus TimKiem End Sub c Option Explicit Dim WithEvents rs As Recordset Dim WithEvents rs1 As Recordset Dim WithEvents rs2 As Recordset Dim WithEvents rs3 As Recordset cu u du on g Private Sub cmdTim_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 13 TimKiem txtTim.SetFocus End Select End Sub Private Sub TimKiem() ‘Thực tìm kiếm theo Số báo danh số phách Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\du an AFC243\afc.mdb;" Set rs = New Recordset Dim Message Init If optSbd.Value Then rs.Open "select * from Thisinh where sbd = " & UCase(Trim(txtTim)) & "", db End If If OptSp.Value Then rs.Open "select * from DiemThi where Sophach =" & Trim(txtTim) & "", db End If 41 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 If rs.EOF = False Then fraKetqua.Enabled = True DisplayListviewKq Else MsgBox " Khong tim thay diem thi" & Message, vbExclamation + vbOKOnly, "Thông baìo" End If End Sub ng c om Private Sub DisplayListviewKq() ‘Hiển thị kết tìm đƣợc Set rs = New Recordset Set rs1 = New Recordset Set rs2 = New Recordset Set rs3 = New Recordset Dim db As Connection Set db = New Connection db.CursorLocation = adUseClient db.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\du an AFC243\afc.mdb;" Dim mItem As ListItem du on g th an co If optSbd.Value Then ‘Tìm theo Số báo danh rs.Open "select * from Thisinh where sbd = " & UCase(Trim(txtTim)) & "", db Set mItem = ListTs.ListItems.Add(, , UCase(rs!Sbd)) mItem.SubItems(1) = rs!Ho mItem.SubItems(2) = rs!Ten mItem.SubItems(3) = rs!Ngaysinh mItem.SubItems(4) = rs!Gioitinh rs1.Open "select Khoi from Khoi where MaKhoi = " & rs!MaKhoi & "", db mItem.SubItems(5) = rs1!Khoi rs1.Close ‘Lấy điểm từ CSDL đƣa vào thông tin đối tƣợng tìm đƣợc cu u rs1.Open "select * from DiemThi where Sbd = " & rs!Sbd & "", db If rs1.EOF = False Then mItem.SubItems(7) = rs1!Sophach mItem.SubItems(8) = rs1!Diem rs2.Open "Select Mon from Mon where Mamon = " & rs1!Mamon & "", db mItem.SubItems(6) = rs2!Mon rs2.Close rs1.MoveNext If rs1.EOF = False Then mItem.SubItems(10) = rs1!Sophach mItem.SubItems(11) = rs1!Diem rs2.Open "Select Mon from Mon where Mamon = " & rs1!Mamon & "", db mItem.SubItems(9) = rs2!Mon rs2.Close rs1.MoveNext If rs1.EOF = False Then mItem.SubItems(13) = rs1!Sophach 42 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 mItem.SubItems(14) = rs1!Diem rs2.Open "Select Mon from Mon where Mamon = " & rs1!Mamon & "", db mItem.SubItems(12) = rs2!Mon rs2.Close rs1.Close End If End If End If rs.Close End If an co ng c om If OptSp.Value Then ‘Tìm theo số phách rs.Open "select * from DiemThi where Sophach = " & Trim(txtTim) & "", db While Not rs.EOF rs1.Open "select * from Thisinh where Sbd = " & rs!Sbd & "", db Set mItem = ListTs.ListItems.Add(, , UCase(rs1!Sbd)) mItem.SubItems(1) = rs1!Ho mItem.SubItems(2) = rs1!Ten mItem.SubItems(3) = rs1!Ngaysinh mItem.SubItems(4) = rs1!Gioitinh rs2.Open "select Khoi from Khoi where MaKhoi = " & rs1!MaKhoi & "", db mItem.SubItems(5) = rs2!Khoi rs2.Close cu u du on g th rs2.Open "select * from DiemThi where Sbd = " & rs!Sbd & "", db If rs2.EOF = False Then mItem.SubItems(7) = rs2!Sophach mItem.SubItems(8) = rs2!Diem rs3.Open "Select Mon from Mon where Mamon = " & rs2!Mamon & "", db mItem.SubItems(6) = rs3!Mon rs3.Close rs2.MoveNext If rs2.EOF = False Then mItem.SubItems(10) = rs2!Sophach mItem.SubItems(11) = rs2!Diem rs3.Open "Select Mon from Mon where Mamon = " & rs2!Mamon & "", db mItem.SubItems(9) = rs3!Mon rs3.Close rs2.MoveNext If rs2.EOF = False Then mItem.SubItems(13) = rs2!Sophach mItem.SubItems(14) = rs2!Diem rs3.Open "Select Mon from Mon where Mamon = " & rs2!Mamon & "", db mItem.SubItems(12) = rs3!Mon rs3.Close rs2.Close End If End If End If 43 CuuDuongThanCong.com https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 rs1.Close rs2.Close rs.MoveNext Wend rs.Close End If End Sub c om Private Sub Init() ‘Khởi tạo ListTs.ListItems.Clear fraKetqua.Enabled = False End Sub Private Sub Command2_Click() Me.Hide rptDTB.Show End Sub co ng Private Sub Form_Load() Init txtTim = "" End Sub du on g th an Private Sub txtTim_KeyPress(KeyAscii As Integer) ‘Thủ tục nhấn Enter ‘sau nhập từ khóa tìm kiếm Select Case KeyAscii Case 13 TimKiem txtTim.SetFocus End Select End Sub cu u Private Sub CmdThoat_Click() Unload Me End Sub Các form frmhelp frmTip sử dụng form Visual Basic 6.0 xây dựng sẵn 44 CuuDuongThanCong.com https://fb.com/tailieudientucntt ... Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 YÊU CẦU CỦA HỆ THỐNG QUẢN LÝ THÍ SINH VÀ ĐIỂM THI cu u du on g th an co ng c om I Thơng tin cần lƣu trữ Thơng tin thí sinh: - Số báo danh thí. .. đầy đủ Thí sinh Điểm thi Mã vùng cu u du Tên viết tắt THI SINH DIEM THI MA VUNG on Từ điển liệu hệ thống chuẩn hóa MON THI KHOI THI MON KHOI DOI TUONG Môn thi Khối thi Môn thi – Khối thi Đối... https://fb.com/tailieudientucntt Hệ thống quản lý Thí sinh Điểm thi Nhóm AFC ĐT9 K47 PHẦN II: CÁC GIẢ THI? ??T VỀ CÁC PHỤ THUỘC HÀM Giả thi? ??t số báo danh thí sinh thí sinh có Họ đệm, Tên, Ngày sinh, Giới tính, Ghi chú, thí sinh

Ngày đăng: 28/07/2021, 11:36

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w