學生管理系統(八)---優化
阿新 • • 發佈:2019-01-23
前言:
上一篇是關於屬性和程式碼的優化,這次主要是根據平時的習慣來進行的優化。
內容:
1、新增成績窗體中,通過班號和學號可以確定該生的姓名,所以該生的姓名就不可以輸入,只是顯示出來就可以了,所以可以用label控制元件來顯示。且學號的combo框被單擊的時候進行響應。Private Sub comboSID_Click() Dim mrc As ADODB.Recordset Dim txtSQL As String Dim MsgText As String '通過學號,顯示姓名 txtSQL = "select*from student_Info where student_ID= '" & comboSID.Text & "'" Set mrc = ExecuteSQL(txtSQL, MsgText) txtName.Caption = mrc!student_Name mrc.Close End Sub
2、新增學籍資訊窗體中,使入校日期大於出生日期
If CDate(txtBorndate.Text > txtRudate.Text) Then
MsgBox "入校日期不能小於出生日期,請重新輸入!", vbOKOnly + vbExclamation, "警告"
txtRudate.Text = ""
txtRudate.SetFocus
End If
3、聯絡電話最長輸入11位 我們可以限制聯絡電話的長度:
這只是咱們的習慣,手機號一般為11位,但是所給的資料庫中的長度為10位,如果輸入11位的手機號,會顯示如下錯誤: 所以我們需要對資料庫進行更改,具體做法如下:Private Sub txtTel_Change() if txtTel.length>=11 then msgbox "請輸入正確的手機號碼" end if End Sub
此時允許我們對資料庫進行修改,之後: 改為char(11),限制長度為11位! 4、“3021”的錯誤 之前解決了窗體沒有記錄出現“3021”的錯誤,如果要是隻有一條記錄,繼續點選上一條記錄這個時候也會出現“3021”的錯誤:
這個時候只需在按鈕的單擊事件下加上一行程式碼:
On Error Resume Next
5、“mrc=nothing” 之類的錯誤也經常出現,出現的原因是沒有傳過來值,大多數情況下是自己程式碼出錯的原因,回頭看看自己的程式碼有沒有敲錯的,或者資料庫裡的資料型別有沒有和自己需要的不相符的,ODBC資料來源有沒有問題等等。