学生问题汇总之设置年级课程信息窗体

复选框check的Value属性

复选框check的Value属性共有三种状态:0未选中,1选中, 2不可选。Value属性可在代码中进行设置,也可以在运行中通过点击控件设置,选中为1,再次点击变为未选中0,但是仅通过check控件不能将Value属性设为2。

复选框的状态也可作为if语句的判断条件,编程实现选中和未选中两种状态所触发的事件。

if check.value
默认check.value为布尔值.如果check.value等于-1.这个条件也会成立.因为在VB中.0为假,非0为真.

Dim dd(4) As Boolean

                     

Dim dd(4) As Boolean,代表四种查询情况,并定义他为布尔型。

组合SQL查询

判断用户名有两层判断,一个是判断用户名是否为空,一个是判断用户名是否存在。这就用到了If函数的嵌套,需要多层IF函数的判断。

 txtSQL = "select * from student_info where " '组合SQL语句(下面会用到)
 
    If Check1(0).Value Then   '判断是否选择学号查询方式(if 嵌套)
        
        If Trim(txtSID.Text) = "" Then '判断输入学号是否为空
           
            MsgBox "学号不能为空", vbOKOnly + vbExclamation, "警告"
            txtSID.SetFocus
            Exit Sub
        Else
            
            If Not IsNumeric(Trim(txtSID.Text)) Then '判断输入学号是否为数字
                MsgBox "请输入数字", vbOKOnly + vbExclamation, "警告"
                Exit Sub
                
            End If
            dd(0) = True
           
            txtSQL = txtSQL & "student_ID='" & Trim(txtSID.Text) & "'" '组合查询语句
        End If
    End If

关于组合SQL语句,请参考https://blog.csdn.net/hdy14/article/details/77306007

实时错误381 下标越界

扩大下标范围选中myFlexGrid,右击属性如图:之前是6,我觉得够,但还是改为了8,问题依然没有解决。继续搜索找寻答案。最后是因为我将Rows设置为了Rows=1,这样后面的TextMatrix(.Rows - 1, 0)这里就会出现问题,Rows-1就等于0,出现溢出,但是这里我还有个问题,为什么不能直接写成TextMatrix(.Rows , 0),而非要-1呢?????

With myflexgrid
        .Rows = 2
        .CellAlignment = 4
        .TextMatrix(1, 0) = "考试编号"
        .TextMatrix(1, 1) = "学号"
        .TextMatrix(1, 2) = "姓名"
        .TextMatrix(1, 3) = "班号"
        .TextMatrix(1, 4) = "课程名称"
        .TextMatrix(1, 5) = "分数"
        
        Do While Not mrc.EOF
            .Rows = .Rows + 1
            .CellAlignment = 4
            .TextMatrix(.Rows - 1, 0) = mrc.Fields(0)
            .TextMatrix(.Rows - 1, 1) = mrc.Fields(1)
            .TextMatrix(.Rows - 1, 2) = mrc.Fields(2)
            .TextMatrix(.Rows - 1, 3) = mrc.Fields(3)
            .TextMatrix(.Rows - 1, 4) = mrc.Fields(4)
            .TextMatrix(.Rows - 1, 5) = mrc.Fields(5)
            mrc.MoveNext
        Loop
        
    End With

 

listAllcourse.ListIndex <> -1

 If listAllcourse.ListIndex <> -1 Then
       listSelectcourse.AddItem listAllcourse.List(listAllcourse.ListIndex)

istAllcourse.ListIndex不等于1。在列表框中,如果有某项被选中,那么list.listindex就会返回它的位置(从0开始),而如果没有列表项被选中,list.listindex等于-1。这句的意思是如果有列表项被选中,那么就执行then后面的语句。这句话也可以写成:if listAllcourse.ListIndex >=0 then

For i = 0 To listSelectcourse.ListCount - 1  

listbox控件 列表索引是从0开始,List.listcount 是列表项目的数量,循环所有列表项目,从0开始到 List.listcount-1项。

猜你喜欢

转载自blog.csdn.net/lisainan66/article/details/112428052