一、日期控件
原码中的日期是直接手动输入的,还需要限制输入的格式,格式不正确是会弹出警示框的,这样来说,用户体验不太好。
最直接的方式就是使用日期控件,让用户直接手动输入就可以了。
日期控件的添加:工具——部件——控件——“Microsoft Windows Common Controls-2.6.0”——应用——确定
需要注意的是,需要限制日期的先后顺序。
'判断出生日期早于入校日期
If DTPicker2.Value < DTPicker1.Value Then
MsgBox "出生日期必须早于入校时间", vbOKOnly + vbExclamation, "警告"
Exit Sub
end if
'判断入校日期早于系统时间
If DTPicker1.Value > Date Then
MsgBox "入校日期必须早于系统时间", vbOKOnly + vbExclamation, "警告"
Exit Sub
end if
二、限制联系电话只能输入11位数字。
'限制输入11位电话号码
If Len(txtTel.Text) <> 11 Then
MsgBox "请输入11位数字电话号码", vbOKOnly + vbExclamation, "警告"
txtTel.Text = ""
txtTel.SetFocus
Exit Sub
End If
三、添加成绩。
首先选择班号,然后选择数据库中当前班号中的学号,姓名随着学号出现,并不是自己手动输入的。
Private Sub comboClassno_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
comboSID.Clear
comboCourse.Clear
txtName.Text = ""
'添加学号
txtSQL = "select * from student_Info where class_No='" & comboClassno.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
While (mrc.EOF = False)
comboSID.AddItem mrc!student_ID
mrc.MoveNext
Wend
mrc.Close
'获得年级信息
txtSQL = "select * from class_Info where class_No='" & comboClassno.Text & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
grade = mrc!grade
mrc.Close
'添加相关课程
txtSQL = "select * from gradecourse_Info where grade='" & grade & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
While (mrc.EOF = False)
comboCourse.AddItem mrc!course_Name
mrc.MoveNext
Wend
mrc.Close
Flagselect = True
End Sub
四、限制成绩的输入在0-120分。
五、多步OLE DB操作产生错误。
经过排查可以看出来是联系电话的字数不匹配,即我输入的字数和数据库允许输入的字数不一致。