信息添加的流程:
1.定义
Dim mrc As ADODB.Recordset '定义一个记录集,用来保存
Dim txtSQL As String '用来执行的SQL语句
Dim MsgText As String '执行完SQL语句后的弹出框
2.添加
2.1.text控件输入信息
1.输入学号:
If Not Testtxt(txtSID.Text) Then '检测学号输入是否为空
MsgBox "请输入学号!",vbOKOnly + vbExclamation, "警告 '如果为空弹警告框,从新输入学号
Exit Sub
txtSID.SetFocus
End If
If Not IsNumeric(Trim(txtSID.Text)) Then '检测输入学号是否为数字
MsgBox "请输入数字!",vbOKOnly + vbExclamation, "警告" '如果不为数字弹出警告框,从新输入学号
Exit Sub
txtSID.SetFocus
End If 'IsNumeric判断表达式的运算结果是否为数字,返回 Boolean 值
2 .输入日期
If NotTesttxt(txtBorndate.Text) Then ' 检测日期是否输入是否为空
MsgBox "请输入出生日期!",vbOKOnly + vbExclamation, "警告" ' 如果为空弹出警告框,从新输入日期
txtBorndate.SetFocus
Exit Sub
End If
定义日期格式
txtBorndate = Format(txtBorndate, "yyyy-mm-dd") '定义日期的格式为yyyy-mm-dd
If Not IsDate(txtBorndate.Text) Then '验证输入日期是否为规定的格式
MsgBox "出生时间应输入日期格式(yyyy-mm-dd)!", vbOKOnly + vbExclamation, "警告"
'如果输入格式不正确,弹出警告框
txtBorndate.SetFocus 注:'format 根据格式表达式中的指令来格式化。
End If 注:'IsDate(txtBorndata),验证txtBorndata是否为标准日期格式
2.2.combobox控件选择信息
方式1 直接加载
方式1 直接加载
If NotTesttxt(comboSex.Text) Then '检测性别是否选择
MsgBox "请选择性别!",vbOKOnly + vbExclamation, "警告" '如果没有选择弹出警告框,选择性别。
comboSex.SetFocus
Exit Sub
End If
Private SubForm_Load() '启动窗体时加载填充数据的选择项 "男","女"
comboSex.AddItem"男"
comboSex.AddItem"女"
End Sub
方式2从已添加的数据库中加载 两种添加方式(1),(2)
例子:在添加成绩信息中选择班号 (班级信息已经添加)
If Not Testtxt(comboClassNo.Text) Then '检测班号是否选择
MsgBox "请选择班号!",vbOKOnly + vbExclamation, "警告" '如果没有选择弹出警告框,选择班号。
comboClassNo.SetFocus
Exit Sub
End If
方式(1)
Private Sub Form_Load()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
Dim i As Integer
txtSQL = "select * from class_Info"
Set mrc = ExecuteSQL(txtSQL, MsgText)
For i = 1 To mrc.RecordCount '循环语句 , 启动窗体时加载已经存在数据库中的班号。
comboClassNo.AddItem mrc.Fields(0)
mrc.MoveNext
Next i
mrc.Close
End Sub
方式(2)
Private SubForm_Load()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim msgtext As String
txtSQL ="select * from class_Info "
Set mrc = ExecuteSQL(txtSQL, MsgText)
While (mrc.EOF = False) '逐一加载数据库中已存在的班级
comboClassno.AddItem mrc!class_No
mrc.MoveNext
Wend
mrc.Close
End sub
3. 检查输入信息是否在数据库中已经存在。两种方式(1),(2)
3.1.检查添加课程
方式(1)
txtSQL ="select * from course_Info " ' sql执行语句,查询课程表
Set mrc = ExecuteSQL(txtSQL, MsgText) 'mrc用来保存txtsql查询得到的信息,
'msgtext来显示查询函数的查询状态。
While (mrc.EOF = False)
If (Trim(mrc.Fields(0)) =Trim(txtCourseno.Text)) Then '判断class_info表中班号列的第一条记录是否与输入班号相同
MsgBox "课程编号已经存在,请重新输入课程编号!", vbOKOnly + vbExclamation, "警告" '如果相同从输班号
txtCourseno.Text = ""
txtCourseno.SetFocus
Exit Sub
Else
mrc.MoveNext '如果第一条不相同在比较下一条
End If
Wend
方式(2)
txtSQL = "select * fromcourse_Info where course_no = ' " & Trim(txtCourseno.Text) &"'"
Set mrc = ExecuteSQL(txtSQL, MsgText) '通过输入的班号查找获得class_info表关于班号的课表
If mrc.EOF = False Then '指针在第一记录与最后一个记录之间
MsgBox "课程编号已经存在,请重新输入课程编号!", vbOKOnly + vbExclamation, "警告" '输入的班号,表中已存在,从新输入
mrc.Close
txtCourseno.SetFocus
End If 比较:两种方式的不同。
3.2.检查添加成绩
txtSQL = "select * from result_Info where exam_No ='" & comboExamtype.Text &
"' and student_ID = '" &comboSID.Text & "' and course_Name = '" & comboCourse.Text& "'"
Set mrc =ExecuteSQL(txtSQL, MsgText)
If mrc.EOF = False Then
MsgBox "有相同纪录,请重新输入信息!",vbOKOnly + vbExclamation, "警告"
mrc.Close
End If 注:添加课程时,课程编号唯一,
添加学籍时当考试编号,学号,课程相同时才显示有相同记录。
添加学籍时也可以用方式一来检测,但相对于方式二有点复杂。
4.向数据库中添加数据
添加数据库的sql语句
txtSQL= "select * from student_Info"
'"student_info 数据库表名称"
Set mrc =ExecuteSQL(txtSQL, MsgText)
mrc.AddNew
mrc.Fields(0) = Trim(txtSID.Text)
mrc.Fields(1) = Trim(txtName.Text)
mrc.Fields(2) = Trim(comboSex.Text)
mrc.Fields(3) = Trim(txtBorndate.Text)
mrc.Fields(4) = Trim(comboClassno.Text)
mrc.Fields(5) = Trim(txtTel.Text)
mrc.Fields(6) = Trim(txtRudate.Text)
mrc.Fields(7) = Trim(txtAddress.Text)
mrc.Fields(8) = Trim(txtComment.Text)
mrc.Update
MsgBox "添加学籍信息成功!", vbOKOnly + vbExclamation, "警告"