学生之设置课程重复问题优化

问题一:在设置课程窗体中,课程会重复添加,下面的代码可以避免课程的重复添加,利用 for… next进行循环判断

Private Sub cmdadd_Click()
    Dim selectcourse As Integer
    Dim i As Integer
    Dim j As Integer

           If Listallcourse.List(Listallcourse.ListIndex) <> "" Then
              If Listallcourse.List(Listallcourse.ListIndex) <> Listselectcourse.List(j) Then
                 For j = 1 To Listselectcourse.ListCount
                    '判断list列表中是否有相同的名称
                    If Listallcourse.List(Listallcourse.ListIndex) = Listselectcourse.List(j) Then
                        MsgBox "已经添加此课程!请勿重复添加", 0 + 48, "警告"
                        Exit Sub
                    End If
                 Next j
                 Listselectcourse.AddItem Listallcourse.List(Listallcourse.ListIndex)
              Else
                MsgBox "已经添加此课程!请勿重复添加", 0 + 48, "警告"
                Exit Sub
              End If
            
          Else
             MsgBox "请先选择课程!", 0 + 48, "警告"
             Exit Sub
          End If


End Sub

问题二:在单击选择所有课程的时候,每单击一次,所有课程就会重复出现一次,可以通过设置按钮的enabled属性来实现,当点击设置课程后该按钮不可用,当再次选择年级的时候该按钮可用

Private Sub cmdsetcourse_Click()
    '使各个控件有效
    Listallcourse.Enabled = True
    Listselectcourse.Enabled = True
    cmdOK.Enabled = True
    
    '查询语句
    txtsql = "select * from gradecourse_info"
    '执行查询
    Set mrc = ExecuteSQL(txtsql, msgtext)
    '判断数据是否为空
    While mrc.EOF = False
        '添加内容到列表框中
        Listallcourse.AddItem mrc.Fields(1)
        mrc.MoveNext
    Wend
    mrc.Close
    flagset = True
    cmdsetcourse.Enabled = False
End Sub

Private Sub Combograde_Click()
    '清空列表框中内容
    Listselectcourse.Clear
    Listallcourse.Clear
    '按年级查询课程
    txtsql = "select * from gradecourse_info where grade='" & Trim(Combograde.Text) & "'"
    '执行查询语句
    Set mrc = ExecuteSQL(txtsql, msgtext)

    '判断是否是最后一条记录
    If Not mrc.EOF Then
        For i = 1 To mrc.RecordCount
            '添加内容到列表框
            Listselectcourse.AddItem mrc.Fields(1)
            '移动到下一条记录
            mrc.MoveNext
    Next i
    End If
    mrc.Close
    cmdsetcourse.Enabled = True
End Sub
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值