【学生】 一个小bug

在我优化学生的过程中,我发现自己的逻辑是混乱的,好不容易我想着我应该梳理一下学生的各个窗体之间的联系了,却蹦出了一个问题,我这是百思不得其解啊!直到,我叫来了我的小伙伴--小崩豆,他是一个思路很清晰的人,有他在我旁边指导,我才最终解决了问题。

到底是怎么回事呢?

这是添加成绩窗体,原本我的代码能够实现的功能是当选择了班号,相应的学号、课程和姓名都会对应的出现 ,可是今天早上不知为何都点不出来了。

 我以为是代码的问题,是不是SQL语句写错了,鼓捣了一上午,我把代码跟源代码一个一个对照,但是就是没发现有什么问题,想得我脑仁都要炸了,哎呀,痛苦!(ㄒoㄒ)(ㄒoㄒ)(ㄒoㄒ)

然后,把小崩豆拽过来后,他帮我分析了一下,原来是因为我没有理清楚各个窗体之间的联系,在添加学籍信息窗体,添加班级信息窗体,添加成绩信息窗体这三个窗体中,都有班号这个属性,而且班号作为一个外码,和主码在联系着这三个窗体,(班号在添加学籍信息和添加成绩信息中是非主属性,而在添加班级信息中是主键),所以,班号的统一至关重要,而源代码并未将这三个窗体紧密联系,而是各管各的,用textbox控件在各个窗体中来输入班号,这样也可以,前提是我们要保证在每个窗体输入的班号是一致的,否则,在图一中,就无法实现选择了班号,相应的学号、课程和姓名都会对应的出现的功能。

天哪,写这么多,我自己都不想看,但是,没办法啊……

这是学生这个表中的班号记录

这是在班级这个表中的班号

 这是在成绩这个表中的班号记录

于是,小崩豆说,你用combobox 将三个班号都统一了,每次都只读取学生中的班号数据,不就行了。

真是一语惊醒梦中人呢,

于是,我在成绩窗体中添加了一段这样的代码,就可以将办好都统一了

Dim mrc As ADODB.Recordset
    Dim txtsql As String
    Dim msgtext As String

    flagselect = False
                                                                '添加班号到ComboBox
    txtsql = "select * from class_Info "
    Set mrc = ExecuteSQL(txtsql, msgtext)

    While (mrc.EOF = False)
        comboclassno.AddItem mrc!class_No
        mrc.MoveNext
    Wend
    mrc.Close

发布了28 篇原创文章 · 获赞 1 · 访问量 1658

猜你喜欢

转载自blog.csdn.net/weixin_43729166/article/details/100628985