前言:
如何给学生设置课程呢?选择所在的年级,显示所有的课程以及已经选择的课程,之后确认设置,那其中的功能是如何用代码实现的呢?
内容:
1、确认设置的逻辑顺序:先判断是否选年级,然后去判断是否选择课程,最后从年级表里查询数据,把更改的数据更新到数据库中。
txtSQL = "select * from gradecourse_Info where grade= '" & Trim(comboGrade.Text) & "'"
Set mrc = ExecuteSQL(txtSQL, MsgText)
If mrc.EOF Then
For i = 1 To listSelectcourse.ListCount
mrc.AddNew
mrc.Fields(0) = comboGrade.Text
mrc.Fields(1) = listSelectcourse.list(i - 1)
mrc.Update
Next i
mrc.Close
MsgBox "课程设置成功!", vbOKOnly + vbExclamation, "警告"
Else
mrc.Close
txtSQL = "delete * from gradecourse_Info where grade= '" & Trim(comboGrade.Text) & "'"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
'查询是否有重复记录
txtSQL = "select * from gradecourse_Info"
Set mrcc = ExecuteSQL(txtSQL, MsgText)
For i = 1 To listSelectcourse.ListCount
mrcc.AddNew
mrcc.Fields(0) = comboGrade.Text
mrcc.Fields(1) = listSelectcourse.list(i - 1)
mrcc.Update
Next i
mrcc.Close
MsgBox "课程设置成功!", vbOKOnly + vbExclamation, "警告"
listAllcourse.Clear
listSelectcourse.Clear
cmdSet.Enabled = True
2、设置课程,有相同的课程的时候只显示一条,之后添加到所有课程列表框中
'查询数据
txtSQL = "select course_Name from course_Info group by course_Name"
Set mrc = ExecuteSQL(txtSQL, MsgText)
'判断是否到最后一条记录
While (mrc.EOF = False)
'添加内容到列表框中
listAllcourse.AddItem mrc.Fields(0)
mrc.MoveNext
Wend
3、选中list框中的数据,使之可以移到另一个list框中
Private Sub listAllcourse_Click()
If listAllcourse.ListIndex <> -1 Then
listSelectcourse.ListIndex = -1
End If
End Sub
Private Sub cmdDelete_Click()
'判断是否有内容被选中
If listSelectcourse.ListIndex <> -1 Then '表示有内容被选中
listSelectcourse.RemoveItem listSelectcourse.ListIndex
End If
End Sub
总结:
这就是设置窗体需要注意的地方,我们主要做的就是理清他们的逻辑顺序,顺序理清了,代码就不是问题了。