学生优化(三)——禁止循环、设置年级课程

一、禁止循环

在学生信息管理系统中修改信息窗体,当点击“下一条记录”时,发现数据是可以循环,这样是不科学的,所以需要添加几句代码

Private Sub cmdNext_Click()

    '数据集向后移动
    mrc.MoveNext

    If mrc.EOF Then
        MsgBox "已经是最后一条记录", 64, "温馨提示"
        mrc.MovePrevious
    End If

    '调用显示数据的函数
    Call viewData

End Sub

 同理、点击“上一条记录”时将EOF改为BOF即可。

二、设置年级课程

1、消除重复记录

Private Sub cmdSet_Click()

    Dim mrc As ADODB.Recordset
    Dim txtSQL As String
    Dim MsgText As String

    '使各个控件有效
    Listallcourse.Enabled = True
    listselectcourse.Enabled = True
    cmdModify.Enabled = True

    '查询数据
    txtSQL = "select * from course_info"
    Set mrc = ExecuteSQL(txtSQL, MsgText)

    '判断是否到最后一条记录
    While (mrc.EOF = False)
          '添加内容到列表框中
          Listallcourse.AddItem mrc.Fields(1)
          mrc.MoveNext
    Wend
    '消除重复课程   Listallcourse listselectcourse
    For a = 0 To listselectcourse.ListCount - 1
        For b = a + 1 To listselectcourse.ListCount
            If listselectcourse.list(b) = listselectcourse.list(a) Then
                listselectcourse.RemoveItem b
            End If
        Next b
    Next
    
    For a = 0 To Listallcourse.ListCount - 1
        For b = a + 1 To Listallcourse.ListCount
            If Listallcourse.list(b) = Listallcourse.list(a) Then
                Listallcourse.RemoveItem b
            End If
        Next b
    Next

    mrc.Close
    flagset = True

End Sub

2、若是选择下一个年级的时候,listBox框中有之前的记录

可以在comboGradeClick事件中用到listselectcourse.Clear这句代码。

发布了20 篇原创文章 · 获赞 1 · 访问量 1079

猜你喜欢

转载自blog.csdn.net/promsing/article/details/103822857