学生信息管理系统优化问题汇总
做學(xué)生信息管理系統(tǒng)已經(jīng)很長時(shí)間了,在這幾天一直在整理師傅給指出的待優(yōu)化問題,當(dāng)然還有幾個(gè)沒有優(yōu)化完,把已經(jīng)解決了的整理出來分享一下:
1、文本框輸入字符長度的限制。在添加內(nèi)容時(shí),我們不能無限制的輸入下去,這就涉及到輸入字符的長度限制,說兩種方法吧:(1)也是最直接方便的方法:將控件的MaxLength屬性值改為你所想要限定的長度就OK了;(2)因?yàn)榭紤]到當(dāng)超過字符限制時(shí)用戶無法得知什么問題導(dǎo)致不能繼續(xù)輸入,本著全心全意為人民服務(wù)的原則,我特意添加了提醒窗口,代碼如下:
'限制字符串的輸入長度If Len(txtname.Text) > 20 ThenMsgBox "字符長度過長!", vbOKOnly + vbCritical, "提示"txtname.Text = ""txtname.SetFocusExit SubEnd If將以上代碼編寫到單擊事件中,就可以輕松提醒用戶了;
2、文本框輸入的字符格式限制。相信我們都可以理解這個(gè)問題,比如,在學(xué)號的輸入框中,我們不能輸入成文字或字母,只能是有數(shù)字組成,對于這個(gè)問題,我也添加了代碼來限制輸入字符的格式。我們需要先在通用中聲明一個(gè)變量:
Const xstr As String = "0123456789" '先聲明一個(gè)變量,把想禁用或允許的輸入的內(nèi)容賦值給他然后在控件單擊事件中編寫如下代碼:
'限制文本框輸入內(nèi)容的字符格式,只能輸入數(shù)字以外的字符KeyAscii = IIf(InStr(xstr, Chr(KeyAscii)), 0, KeyAscii)
這個(gè)是使其輸入非數(shù)字的字符,另外還有只允許輸入數(shù)字時(shí):
'只能輸入數(shù)字KeyAscii = IIf(InStr(xstr & Chr(8), Chr(KeyAscii)), KeyAscii, 0) 這樣我的輸入格式問題就解決了。
3、添加學(xué)籍時(shí),入校日期不能早于出生日期。這個(gè)問題確實(shí)挺搞笑的,還沒有出生怎么可能已經(jīng)入學(xué),給的源碼中也沒有這方面的限定,我們當(dāng)然不能出這種滑稽的問題,在兩者時(shí)間出現(xiàn)早晚問題時(shí),我們同樣可以添加提示框,提醒用戶輸入的錯(cuò)誤。從同學(xué)那里借鑒了一些內(nèi)容解決的,添加如下代碼:
Private Sub txtRudate_Change()Dim a As Boolean'判斷入學(xué)日期是否大于出生日期a = TrueIf IsDate(txtRudate.Text) And IsDate(txtBorndate.Text) ThenIf CDate(txtRudate.Text) < CDate(txtBorndate.Text) Then '比較日期大小a = FalseEnd IfEnd IfIf a = False Then '如果入學(xué)日期小于出生日期,提示!MsgBox "入學(xué)日期不能小于出生日期!", vbOKOnly + vbExclamation, "警告"Exit SubEnd If End Sub 4、 在查詢信息是,去掉單選框的對勾,使其后文本框中的內(nèi)容同時(shí)消失。這一點(diǎn)在平時(shí)使用的軟件中都會有,開始自己也注意到了這個(gè)問題,看了看也沒當(dāng)回事。但驗(yàn)收時(shí)師傅提出來了,就算只是一個(gè)小系統(tǒng),也應(yīng)該為用戶著想,做到使用最優(yōu)化。其實(shí)問題還是很好解決的,當(dāng)初就因?yàn)樽约悍噶藗€(gè)懶,給系統(tǒng)添加了不足。代碼極其簡單,正如以下所示:
Private Sub Check1_Click(Index As Integer)'在去掉按鈕前對勾時(shí),其后的文本框隨之清空If Check1(0).Value = False ThentxtSID.Text = " "End IfIf Check1(1).Value = False ThentxtName.Text = " "End IfIf Check1(2).Value = False ThentxtCourse.Text = " "End If End Sub 5、 將combo控件設(shè)置為只可選下拉框內(nèi)容,不可隨意添加。這一點(diǎn)是很重要的,舉個(gè)例子來說,在添加成績信息時(shí)是需要填寫班級的, 如果我們可以隨意添加的話,就算你所寫的班號在數(shù)據(jù)庫中并沒有,但信息仍可以成功添加,這種關(guān)系是不成立的,當(dāng)然我們要添加成績,這個(gè)班級在數(shù)據(jù)庫中就必須要存在。對于這個(gè)問題,我們只要將combo控件的style屬性設(shè)置為2就可以了,由于style為2時(shí),combo為只讀屬性,其內(nèi)容不可隨意更改,我們還需要將窗體中的combo.text=""一類的語句刪除掉。
6、課程可以重復(fù)添加的問題。在設(shè)置課程窗體中,如果我們重復(fù)添加課程,同樣也可以添加成功,這種現(xiàn)象絕不可以發(fā)生。參考了多位同學(xué)的總結(jié),算是把這個(gè)問題解決的不錯(cuò)。代碼如下:
Private Sub cmdAdd_Click()Dim selectcourse As IntegerDim i As Integer '定義兩個(gè)整型變量Dim j As IntegerFor selectcourse = 0 To listAllcourse.ListCount - 1If listAllcourse.Selected(selectcourse) = True ThenlistSelectcourse.AddItem listAllcourse.List(listAllcourse.ListIndex)'向listselectcourse列表中添加課程For i = 0 To listSelectcourse.ListCount - 1For j = i + 1 To listSelectcourse.ListCount'判斷 在list列表中是否有相同的名稱If listSelectcourse.List(i) = listSelectcourse.List(j) ThenlistSelectcourse.RemoveItem jMsgBox "已添加此課程!", vbOKOnly, "提示"Exit SubEnd IfNext jNext iEnd IfNext selectcourse End Sub 大概內(nèi)容就這些吧,當(dāng)然還有很多,希望能幫到同學(xué)們的優(yōu)化。也讓我們的系統(tǒng)真正的接近全心全意為人民服務(wù)。
總結(jié)
以上是生活随笔為你收集整理的学生信息管理系统优化问题汇总的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: cad自动填写页码lisp_CAD图纸页
- 下一篇: [vue] vue为什么要求组件模板只能