思考:
当我们添加成绩时,如果有一定的顺序不仅可以让程序更加人性化,而且还可以减少错误的出现,例如:
当我们选择不同的数据,会出现不同的数据,例如:根据学号的不同,会出现不同的名字.
注:可以把所有的都弄成按顺序的选择,在这里小编只做了根据不同的班号,选择不同的学号,根据不同的学号,显示名字的过程!
首先加载班号对应的数据。
注:因为我只做了以班级为起点,所以我就将加载班号的代码写在了窗体的加载事件。
txtSQL = "select * from class_Info " '查询表
Set mrc = ExecuteSQL(txtSQL, Msgtext) '连接数据库
If mrc.EOF And mrc.BOF Then‘如果数据库中没有数据
While Not mrc.EOF
comboClassno.AddItem mrc!class_no
mrc.MoveNext
Wend
Else
mrc.MoveFirst
While Not mrc.EOF
comboClassno.AddItem mrc!class_no
mrc.MoveNext
Wend
End If
mrc.Close
然后加载学号对应的数据(学号)
Private Sub comboSID_dropdown() '选择学号的'通过学号,显示姓名
comboSID.Clear'清空学号中的内容,防止每次单击出现重复
txtName.Text = ""清空姓名中的内容
comboSID.AddItem "-请选择-"
comboSID.Text = comboSID.List(0)
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim Msgtext As String
If comboClassno.Text = "-请选择-" Then'因为只有选择班级才会出现学号,所以选择学号之前必须要选择班级
MsgBox "请先选择班级", vbOKOnly + vbExclamation, "警告"
Else
'通过班级显示学号
txtSQL = "select * from student_Info where class_no = '" & comboClassno.Text & "'"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
If mrc.EOF And mrc.BOF Then
While mrc.EOF = False
comboSID.AddItem mrc!student_id
mrc.MoveNext
Wend
Else
mrc.MoveFirst
While mrc.EOF = False
comboSID.AddItem mrc!student_id
mrc.MoveNext
Wend
End If
mrc.Close
End If
End Sub
然后加载学号对应的数据(姓名)
Private Sub comboSID_Click()
Dim mrc As ADODB.Recordset
Dim txtSQL$
Dim Msgtext$
'通过学号,显示姓名
txtSQL = "select * from student_Info where student_id = '" & comboSID.Text & "'"
Set mrc = ExecuteSQL(txtSQL, Msgtext)
txtName.Text = mrc!student_name
mrc.Close
End Sub
注:这里运用了dropdown事件和click事件
1、DropDown 事件,该事件是当 ComboBox 控件的列表部分正要被放下时发生;如果 ComboBox 控件的 Style 属性设置为 1(简单的 Combo)时此事件不会发生。
2、Click 事件: 此事件是在一个对象上按下然后释放一个鼠标按钮时发生。它也会发生在一个控件的值改变时。 对一个 Form 对象来说,该事件是在单击一个空白区或一个无效控件时发生。对一个控件来说,这类事件的发生是当单击控件对象的特定区域。
总结
因为自己学生信息管理系统时看着书做的,所以后面的代码是看着之前写的,所以经历的困难毕竟多。
结束语
感谢您的阅读,如果我有分享的错误,请您指出,当然如果有更好的方法,欢迎分享!