Hướng phỏt triển của phần mềm

Một phần của tài liệu Thiết Kế Hệ Thống Thông Tin Quản Lý dựa trên ngôn ngữ lập trình VisualBase 6.0 và hệ quản trị cơ sở dữ liệu Access 2003 (Trang 43 - 52)

- Hồ sơ: bao gồm cỏc thụng tin về thớ sinh: tờn, ngày sinh, nơi sinh, địa điểm, đố

4.2 Hướng phỏt triển của phần mềm

Phần mềm quản lý tuyển sinh tại chức vừa xõy dựng xong cũn nhiều mặt hạn chế do thiếu thời gian và kiến thức. Em hy vọng cú thể phỏt triển để hoàn thiện thờm phần mềm này theo hướng thay vỡ quản lý tuyển sinh cho một cơ sở đào tạo như hiện nay bằng quản lý tuyển sinh tại chức trực tuyến tại tất cả cỏc địa điểm đào tạo của trường đại học kinh tế quốc dõn trờn cả nước.

Kết luận

Đề tài :” Xõy dựng phần mềm quản lý tuyển sinh đại học tại chức tại trường đại học kinh tế quốc dõn”, được xõy dựng trờn ngụn ngữ lập trỡnh VisualBase 6.0 và hệ quản trị cơ sở dữ liệu Access 2003. Phần mềm đó thực hiện được cỏc chức năng cơ bản của quỏ trỡnh tuyển sinh tại chức của trường đại học Kinh tế quốc dõn.

Qua quỏ trỡnh nghiờn cứu đề tài em đó cú những hiểu biết sõu sắc về hoạt động tuyển sinh tại chức của trường. Đồng thời tỡm hiểu sõu hơn về nghiệp vụ phỏt triển hệ thống thụng tin quản lý cũng như nõng cao kiến thức về lập trỡnh VisualBase và hệ quản trị cơ sở dữ liệu Access 2003. Em rất hy vọng phần mềm của em cú thể được ỏp dụng vào thực tế và giỳp ớch cho việc tin học quỏ trỡnh quản lý của trường đại học Kinh tế quốc dõn nơi em đang học

Do thời gian và kiến thức cũn hạn chế nờn phần mềm của em vẫn cũn nhiều mặt thiếu xút. Em rất mong nhận được sự đúng gúp ý kiến của thầy cụ và cỏc bạn để đề ỏn của em được hoàn thiện hơn.

Em xin chõn thành cảm ơn những giỳp đỡ nhiệt tỡnh của cụ giỏo Tiến sĩ Trần thị Song Minh đó giỳp đỡ em trong quỏ trỡnh thực hiện đề tài.

Danh mục tài liệu tham khảo

1. Tự học lập trỡnh visual basic 6.0 – Nhà xuất bản văn húa thụng tin

2. TS Trương Văn Tỳ – TS Trần Thị Song Minh, Giỏo trỡnh “ Hệ thống thụng tin quản lý”

3. PGS.TS Hàn Viết Thuận, Giỏo trỡnh “Cấu trỳc dữ liệu và giải thuật”

4. Phựng Tiến Hải, Nghiờn cứu thiết kế một số phần mềm phục vụ cụng tỏc tin học hoỏ quản lý tại trường ĐH KTQD, Bộ GDĐT trường ĐH KTQD

5. Microsoft visual basic lập trỡnh cơ sở dữ liệu 6.0 – Nhà xuất bản lao động – xó hội

Phụ lục

Một vài đoạn mó nguồn quan trọng trong quỏ trỡnh sử lý dữ liệu của phần mềm quản lý tuyển sinh đại học tại chức:

Tỏch và sử lý chuỗi họ và tờn của thớ sinh:

Public Function atrim(ByVal ht As String) As String ' cắt bỏ toàn bộ dấu cỏch hai bờn phải và trỏi

ht = LTrim(RTrim(ht))

‘ Loại bỏ cỏc dấu cỏch thừa trong chuỗi Do While InStr(ht, " ") <> 0

ht = Replace(ht, " ", " ") Loop

atrim = ht End Function

Public Function TachTen(ByVal ht As String) As String ' Gọi hàm cắt cỏc dấu cỏch thừa

ht = atrim(ht) Dim i As Integer i = InStrRev(ht, " ")

' Kiểm tra chiều dài của chuỗi tờn If (Len(ht) - i) > 7 Then

MsgBox "Tên có trên 7 ký tự)" End If

TachTen = Right(ht, Len(ht) - i) End Function

Public Function TachHoDem(ByVal ht As String) As String ht = atrim(ht)

Dim i As Integer i = InStrRev(ht, " ")

' Lấy họ đệm bằng cách cắt lấy phần bên trái của chuỗi đến dấu cách cuối cùng TachHoDem = Trim(Left(ht, i))

End Function

Đoạn code để sử lý thụng tin tuyển sinh:

Public Sub PhongThi() On Error GoTo loi

Set RS = New ADODB.Recordset Set rs1 = New ADODB.Recordset Dim str, Str1 As String

Dim i As Integer

str = " SELECT * FROM DiaDiemThi"

RS.Open str, cn, adOpenDynamic, adLockOptimistic If RS.EOF = True Then

'MsgBox "Bạn cha nhập địa điểm", , "Thông báo" Exit Sub

End If

Str1 = "SELECT * FROM PhongThi"

rs1.Open Str1, cn, adOpenDynamic, adLockOptimistic If rs1.EOF = False Then

cn.Execute "DELETE * FROM PhongThi" End If

Do While RS.EOF = False i = 1

Do While i <= RS.Fields("SoPhongThi").Value If i < 10 Then

rs1.AddNew

rs1.Fields("MaPhongThi").Value = RS.Fields("MaDiaDiem").Value + "0" + CStr(i) rs1.Fields("MaDiaDiem").Value = RS.Fields("MaDiaDiem").Value

rs1.Update Else

rs1.AddNew

rs1.Fields("MaPhongThi").Value = RS.Fields("MaDiaDiem").Value + CStr(i) rs1.Fields("MaDiaDiem").Value = RS.Fields("MaDiaDiem").Value rs1.Update End If rs1.MoveNext i = i + 1 Loop RS.MoveNext Loop RS.Close rs1.Close Exit Sub loi: Exit Sub End Sub

Public Sub DanhSBD() On Error GoTo loi

Set RS = New ADODB.Recordset Set rs1 = New ADODB.Recordset ' Set rs2 = New ADODB.Recordset Dim str, Str1, str2 As String Dim i As Integer

If MsgBox("Bạn thực sự muốn kết thúc quá trình cập nhật hồ sơ?", vbOKCancel, "Thông báo") = vbOK Then

Exit Sub End If Else Cancel = 1 Exit Sub End If

' Danh so bao danh

str = " SELECT MaHoSo FROM HoSoDuTuyen ORDER BY Ten" RS.Open str, cn, adOpenDynamic, adLockOptimistic

If RS.EOF = True Then Exit Sub

End If

Str1 = "SELECT * FROM ThiSinh ORDER BY SoBaoDanh" rs1.Open Str1, cn, adOpenDynamic, adLockOptimistic

i = 1

If rs1.EOF = False Then

cn.Execute "DELETE * FROM ThiSinh" End If

Do While RS.EOF = False If i < 10 Then rs1.AddNew rs1.Fields("MaHoSo").Value = RS.Fields("MaHoSo").Value rs1.Fields("SoBaoDanh").Value = "TC" + CStr(19) + "000" + CStr(i) rs1.Update End If If i > 10 And i < 100 Then rs1.AddNew rs1.Fields("MaHoSo").Value = RS.Fields("MaHoSo").Value rs1.Fields("SoBaoDanh").Value = "TC" + CStr(19) + "00" + CStr(i) rs1.Update End If If i > 100 And i < 1000 Then rs1.AddNew rs1.Fields("MaHoSo").Value = RS.Fields("MaHoSo").Value rs1.Fields("SoBaoDanh").Value = "TC" + CStr(19) + "0" + CStr(i) rs1.Update End If If i > 1000 Then rs1.AddNew rs1.Fields("MaHoSo").Value = RS.Fields("MaHoSo").Value rs1.Fields("SoBaoDanh").Value = "TC" + CStr(19) + CStr(i) rs1.Update End If i = i + 1 RS.MoveNext Loop 'rs2.Close RS.Close

' Phan phong thi

str = "SELECT * FROM PhongThi"

RS.Open str, cn, adOpenDynamic, adLockOptimistic rs1.MoveFirst

Do While RS.EOF = False 'MsgBox "Thông bao" For i = 1 To 25

If rs1.EOF = False Then

rs1.Fields("MaPhongThi").Value = RS.Fields("MaPhongThi").Value rs1.Update

End If

If rs1.EOF = False Then rs1.MoveNext Else Exit Sub End If Next i RS.MoveNext Loop Exit Sub loi:

MsgBox "Bạn đã kết thúc quá trình cập nhật và phân phòng thi cho thí sinh", , "Thông báo"

Exit Sub End Sub

Public Sub TinhDiem()

Set RS = New ADODB.Recordset Set rs1 = New ADODB.Recordset Set rs2 = New ADODB.Recordset Dim str, Str1, str2, str3 As String Dim i, ChiTieu As Integer Dim DiemChuan As Single

str = "SELECT * FROM ChuyenNganh WHERE ChiTieu<>0" RS.Open str, cn, adOpenDynamic, adLockOptimistic

' Tinh chi tieu chung If RS.EOF = True Then

MsgBox "Bạn cha nhập chỉ tiêu của chuyên ngành nào", , "thông báo" Exit Sub

End If ChiTieu = 0

Do While RS.EOF = False

ChiTieu = ChiTieu + RS.Fields("ChiTieu").Value RS.MoveNext

' Tinh diem chuan toan truong

Str1 = "SELECT

(ThiSinh.Mon1+ThiSinh.Mon2+ThiSinh.Mon3+HoSoDuTuyen.DiemThuong) as TongDiem,ThiSinh.SoBaoDanh FROM ThiSinh INNER JOIN HoSoDuTuyen ON ThiSinh.MaHoSo=HoSoDuTuyen.MaHoSo "

'str1 = str1 + "WHERE HoSoDuTuyen.DuocTuyenThang='No' "

Str1 = Str1 + "ORDER BY

(ThiSinh.Mon1+ThiSinh.Mon2+ThiSinh.Mon3+HoSoDuTuyen.DiemThuong)DESC,HoSo DuTuyen.DiemThuong DESC"

rs1.Open Str1, cn, adOpenDynamic, adLockOptimistic i = 1

DiemChuan = 0

If rs1.EOF = True Then

MsgBox "Bạn cha nhập điểm thí sinh", vbOKOnly, "Thông báo" Exit Sub

End If

rs1.MoveFirst

Do While rs1.EOF = False If i <= ChiTieu Then DiemChuan = rs1.Fields("TongDiem") End If i = i + 1 rs1.MoveNext Loop

MsgBox "Diem chuan toan truong la " & DiemChuan & ""

Set rs3 = New ADODB.Recordset str3 = "SELECT * FROM CoSoDaoTao"

rs3.Open str3, cn, adOpenDynamic, adLockOptimistic rs3.Fields("DiemSan").Value = DiemChuan

rs3.Update rs3.Close

Set rs3 = New ADODB.Recordset

' Tinh diem chuan cho tung chuyen nganh

Dim MaNganh As String

str3 = "SELECT * FROM SinhVien"

rs3.Open str3, cn, adOpenDynamic, adLockOptimistic 'RS.MoveFirst

Do While RS.EOF = False

Set rs2 = New ADODB.Recordset

str2 = "SELECT

(ThiSinh.Mon1+ThiSinh.Mon2+ThiSinh.Mon3+HoSoDuTuyen.DiemThuong) as TongDiem,ThiSinh.MaHoSo FROM ThiSinh INNER JOIN HoSoDuTuyen ON ThiSinh.MaHoSo=HoSoDuTuyen.MaHoSo "

str2 = str2 + "WHERE (ThiSinh.Mon1+ThiSinh.Mon2+ThiSinh.Mon3+HoSoDuTuyen.DiemThuong)>='" & DiemChuan & "'"

str2 = str2 + " and HoSoDuTuyen.MaChuyenNganh='" & RS.Fields("MaChuyenNganh").Value & "'"

str2 = str2 + " ORDER BY

(ThiSinh.Mon1+ThiSinh.Mon2+ThiSinh.Mon3+HoSoDuTuyen.DiemThuong)DESC,HoSo DuTuyen.DiemThuong DESC"

rs2.Open str2, cn, adOpenDynamic, adLockOptimistic i = 1

' If rs2.EOF = True Then

' MsgBox "Khong co thi sinh nao dang ky chuyen nganh '" & RS.Fields("TenChuyenNganh").Value & "'"

' End If

MaNganh = RS.Fields("MaChuyenNganh").Value ChiTieu = RS.Fields("ChiTieu").Value

Do While rs2.EOF = False If i < ChiTieu Then RS.Fields("DiemChuan").Value = rs2.Fields("TongDiem").Value RS.Update rs3.AddNew rs3.Fields("MaHoSo").Value = rs2.Fields("MaHoSo").Value rs3.Fields("MaChuyenNganh").Value = MaNganh rs3.Update End If i = i + 1 rs2.MoveNext Loop rs2.Close RS.MoveNext Loop rs3.Close

Dim Thieu As Integer 'Dim str As String

Set RS = New ADODB.Recordset

str = "SELECT* FROM ChuyenNganh WHERE ChiTieu>0 " RS.Open str, cn, adOpenDynamic, adLockOptimistic

Do While RS.EOF = False

ChiTieu = RS.Fields("ChiTieu").Value

MaNganh = RS.Fields("MaChuyenNganh").Value Set rs3 = New ADODB.Recordset

str3 = "SELECT * FROM SinhVien WHERE MaChuyenNganh='" & MaNganh & "'" rs3.Open str3, cn, adOpenDynamic, adLockOptimistic

If ChiTieu > rs3.RecordCount Then Thieu = ChiTieu - rs3.RecordCount Set rs2 = New ADODB.Recordset

str2 = "SELECT

TongDiem,ThiSinh.MaHoSo FROM ThiSinh INNER JOIN HoSoDuTuyen ON ThiSinh.MaHoSo=HoSoDuTuyen.MaHoSo "

str2 = str2 + "WHERE

(ThiSinh.Mon1+ThiSinh.Mon2+ThiSinh.Mon3+HoSoDuTuyen.DiemThuong)>='" & DiemChuan & "'"

' str2 = str2 + " and HoSoDuTuyen.MaChuyenNganh='" & RS.Fields("MaChuyenNganh").Value & "'"

str2 = str2 + " ORDER BY

(ThiSinh.Mon1+ThiSinh.Mon2+ThiSinh.Mon3+HoSoDuTuyen.DiemThuong)DESC,HoSo DuTuyen.DiemThuong DESC"

rs2.Open str2, cn, adOpenDynamic, adLockOptimistic i = 1

'Do While i < Thieu

Do While rs2.EOF = False Dim str4 As String

Set rs4 = New ADODB.Recordset

str4 = "SELECT * FROM SinhVien WHERE MaHoSo='" & rs2.Fields("MaHoSo").Value & "'"

rs4.Open str4, cn, adOpenDynamic, adLockOptimistic If (rs4.EOF = True) And i < Thieu Then

'If rs2.Fields("MaHoSo").Value <> rs3.Fields("MaHoSo").Value Then rs3.AddNew rs3.Fields("MaHoSo").Value = rs2.Fields("MaHoSo").Value rs3.Fields("MaChuyenNganh").Value = MaNganh rs3.Update i = i + 1 End If rs2.MoveNext Loop End If RS.MoveNext Loop RS.Close rs1.Close

Set rs3 = New ADODB.Recordset

rs3.Open "Select * From SinhVien INNER JOIN HoSoDuTuyen On SinhVien.MaHoSo=HoSoDuTuyen.MaHoSo ORDER BY HoSoDuTuyen.Ten", cn, adOpenDynamic, adLockOptimistic

i = 1

Do While rs3.EOF = False

rs3.Fields("MaSinhVien").Value = "TC" + CStr(19) + CStr(i) rs3.Update i = i + 1 rs3.MoveNext Loop End Sub

Một phần của tài liệu Thiết Kế Hệ Thống Thông Tin Quản Lý dựa trên ngôn ngữ lập trình VisualBase 6.0 và hệ quản trị cơ sở dữ liệu Access 2003 (Trang 43 - 52)

Tải bản đầy đủ (DOC)

(52 trang)
w