-
前面我们看到了学生管理系统的整体框架及其表之间的联系,下面我们来看一下其中出现的错误:
BUG一:组合框不可输入
表与表之间都是相互联系的,它们都是通过一个或几个字段进行连接的,因此这些用来连接的字段不能随便进行更改。(改后表与表间就联系不起来了)
下面我们以frmAddsinfo中的班号为例:班号应先判定是否有班号,不可直接输入,因为班号是由班级信息表中的班号确定的,不能随便更改。
源代码:
Private Sub Form_Load()
Dim mrc As ADODB.Recordset
Dim txtSQL As String
Dim MsgText As String
Dim i As Integer
comboSex.AddItem "男"
comboSex.AddItem "女"
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
改后代码:
Private Sub cboClassNum_DropDown()
Dim mrs As ADODB.Recordset
Dim strSQL As String
Dim MsgText As String
Dim i As Integer
cboClassNum.Clear
strSQL = "select * from class_Info"
Set mrs = ExecuteSQL(strSQL, MsgText)
If mrs.EOF Then
MsgBox "请先添加班号!", vbExclamation + vbOKOnly, "提示"
frmAddsinfo.Hide
frmAddClassinfo.Show
Exit Sub
Else
For i = 1 To mrs.RecordCount
cboClassNum.AddItem mrs.Fields(0)
mrs.MoveNext
Next
mrs.Close
End If
End Sub