1.CheckBox
如何让checkbox实现,点击时,文本框出现,复点击时,文本框消失
Private Sub Check1_Click(Index As Integer)
If Check1(0).Value = 0 Then
txtSID.Visible = False
Else
txtSID.Visible = True
End If
If Check1(1).Value = 0 Then
txtName.Visible = False
Else
txtName.Visible = True
End If
If Check1(2).Value = 0 Then
txtClassno.Visible = False
Else
txtClassno.Visible = True
End If
End Sub
2.不重复添加课程(变啦,于富给讲明白啦)
Private Sub cmdAdd_Click()
Static b As Integer
Dim s As String
Dim w As Integer
If listAllcourse.ListIndex <> -1 Then
For b = 0 To listSelectcourse.ListCount - 1
If listSelectcourse.List(b) = listAllcourse.List(listAllcourse.ListIndex) Then
MsgBox "不能重复添加课程"
w = 3
End If
Next
If w = 3 Then
Exit Sub
Else
listSelectcourse.AddItem listAllcourse.List(listAllcourse.ListIndex)
End If
End If
End Sub
所有课程里的索引值不等于-1,索引值一般是从0开始,因此,如果索引值不等于-1的话,即已经选中了所有课程中的某一课程。
然后进行循环判断,从“已选择课程”中的第一条记录开始,到最后一条记录,依次与所选课程进行判断。
如果“已选择课程”中的某行数据与选中的课程名称一致,则弹框体质“不能重复添加课程”
因为验项目之前,是直接看的于富的博客,所以不太理解 w=3 是什么意思,刚刚于富给讲了一下,讲得和细致。
w=3其实就是一种表示,表示的内容就是内容重复,不可添加
遇到重复的情况,就退出这部分,重新选择。
但如果不重复的话,就添加成功。
起初想,如果没有 w=3 的部分,是不是也可以,其实是不行的,如果没有下面的再次判断,效果是这样的:
Private Sub cmdAdd_Click()
Static b As Integer
Dim s As String
Dim w As Integer
If listAllcourse.ListIndex <> -1 Then
If listSelectcourse.List(b) = listAllcourse.List(listAllcourse.ListIndex) Then
MsgBox "不能重复添加课程"
Else
listSelectcourse.AddItem listAllcourse.List(listAllcourse.ListIndex)
End If
End If
End Sub
(代码中list(b)部分不符合语法规范,懂意思即可)
这种情况的话,只会进行一次判断,如果“已选择课程”中的第一条记录与选中记录不重复,就可以重复添加,但如果“已选择课程”中有多条记录,后面即便是有重复记录存在,也是可以成功添加的。
3.当删除最后一条记录时,能顺利删除
If mrc.EOF Then
MsgBox "数据库中已无记录,请先添加新的记录!", 48, "警告"
Unload Me
Exit Sub
Else
myBookmark = mrc.Bookmark
str2$ = MsgBox("是否删除当前记录?", vbOKCancel, "删除当前记录")
If str2$ = vbOK Then
mrc.MoveNext
If mrc.EOF Then
mrc.MoveFirst
myBookmark = mrc.Bookmark
mrc.MoveLast
mrc.Delete
mrc.Bookmark = myBookmark
' Call viewData 因记录已经删除,所以不必调用
Else
myBookmark = mrc.Bookmark
mrc.MovePrevious
mrc.Delete
mrc.Bookmark = myBookmark
Call viewData
End If
End If
End If
End Sub
4.通过班号找到学号
添加成绩时,就逻辑问题理了痕久,理清后发现,这趟逻辑还真是蛮厉害的。
(1)通过班号找到学号
(2)通过学号对应姓名
(3)通过在所有课程中选择课程
(4)输入学生分数
上面的class_NO,原本写的是student_ID, 发现当添加成绩时,选择了班级,学号却只出现一个,于是再次查看了SQL ,有理了一下逻辑,发现,既然是通过班号,找学生学号,就应该将学号改成班级,哈哈,豁然开朗呀。
还会再添加部分函数解说,静等我验完哈