优化1:当记录集空后,不令其报错,而是设置系统提示,且提示后控件不可用
Dim txtSQL As String
Dim MsgText As String
Dim i As Integer
Dim mrccc As ADODB.Recordset
'查询语句
txtSQL = "select * from Student_Info "
'将查询结果放入记录集中
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = True Then
MsgBox "没有记录了,请添加后再试!", 0 + 48, "提示"
Frame1.Enabled = False
Frame2.Enabled = False
优化2:在修改信息界面的combo控件中,调用数据库内的信息
查询不同的数据库,需要定义多个不同的记录集
txtSQL = "select * from class_info"
Set mrccc = ExecuteSQL(txtSQL, MsgText)
'若有记录,继续
If mrccc.EOF = True Then
MsgBox "没有记录了,请先添加后再试!", 0 + 48, "提示"
Else
For i = 1 To mrccc.RecordCount
comboClassNo.AddItem mrccc.Fields(0)
'移动到下一条记录
mrccc.MoveNext
Next i
End If
优化3:使combo控件无法打字只可以选择
设置combolist控件的style属性为2,并将代码中“combo***.text=””删去”
优化4:修改信息界面,时间改为日历模式,入学时间不得低于出生时间
Private Sub Form_Click()
MonthView1.Visible = False
MonthView2.Visible = False
End Sub
Private Sub cmdUpdate_Click()
Dim txtSQL As String
Dim MsgText As String
Dim mrcc As ADODB.Recordset
...(中间省略若干代码)
If Trim(txtRudate.Text) < Trim(txtBorndate.Text) Then
MsgBox "入学日期小于出生日期!", vbOKOnly + vbExclamation, "警告"
Exit Sub
End If
优化5:文本框内设置限制字数,防止数据库溢出报错
直接在代码处输入*.MaxLength=要限制的数字数
优化6:设置年级课程信息中,点击一次“设置课程”按钮后,该按钮禁用,避免出现多次重复的情况
优化7:查询学籍信息中,电话栏的部分显示不全
首先在cmdIInquire_Click()事件中写入MSHFlexgrid.ColAlignment=4,将数据居中显示,再将显示电话栏的对应字段去掉空格(trim())
With MSHFlexgrid
.ColAlignment = 4
.TextMatrix(.Rows - 1, 5) = Trim(mrc.Fields(5))
优化8:使textbox控件有输入限制:“只能输入…”
添加KeyPress事件:
Private Sub txtUserName_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 48 To 57
Case 8
Case Else
KeyAscii = 0
MsgBox "只能输入数字!", vbOKOnly + vbExclamation, "警告"
txtUserName.Text = ""
End Select
End Sub
Private Sub txtName_KeyPress(KeyAscii As Integer)
Select Case KeyAscii '禁止输入数字和特殊字符
Case 65 To 90
Case 97 To 122
Case 44
Case 46
Case 13
Case 8
Case Else
KeyAscii = 0
MsgBox "只能输入字母!", 0 + 48, "警告"
End Select
End Sub