信息添加的流程:
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, "警告"