📄 自动生成课程表.frm
字号:
End If
rstplan.Delete
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
If rstplan.RecordCount() = 0 Then
Exit Do
End If
Else
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
End If
Else
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
End If
Next j
Next i
Loop
Set rstplan = dbcourse.OpenRecordset("select * from teachplan where coursetype='4'and weekhour='3' ")
Do Until rstplan.EOF
i = 1
For j = 1 To 4
Set rstclasscourse = dbcourse.OpenRecordset("select * from courseclass")
rstclasscourse.Filter = "classid='" & rstplan.Fields("classid") & "'"
Set rstclasscourse = rstclasscourse.OpenRecordset()
If rstclasscourse.Fields(i & j) = "1" Then
Set rstteachercourse = dbcourse.OpenRecordset("select * from courseteacher")
rstteachercourse.Filter = "teacherid='" & rstplan.Fields("teacherid") & "'"
Set rstteachercourse = rstteachercourse.OpenRecordset()
If rstteachercourse.Fields(i & j) = "1" Then
Set rstclassroomcourse = dbcourse.OpenRecordset("select * from courseclassroom where type='3'")
Do Until rstclassroomcourse.Fields(i & j) = "1"
rstclassroomcourse.MoveNext
Loop
Set rstclass = db.OpenRecordset("select * from class ")
rstclass.Filter = "classid='" & rstclasscourse.Fields("classid") & "'"
Set rstclass = rstclass.OpenRecordset()
Set rstcourse = db.OpenRecordset("select * from course")
rstcourse.Filter = "courseid='" & rstplan.Fields("courseid") & "'"
Set rstcourse = rstcourse.OpenRecordset()
Set rstteacher = db.OpenRecordset("select * from teacher")
rstteacher.Filter = "teacherid='" & rstplan.Fields("teacherid") & "'"
Set rstteacher = rstteacher.OpenRecordset()
Set rstclassroom = db.OpenRecordset("select * from classroom")
rstclassroom.Filter = "classroomid='" & rstclassroomcourse.Fields("classroomid") & "'"
Set rstclassroom = rstclassroom.OpenRecordset()
rstclasscourse.edit
rstclasscourse.Fields(i & j) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclassroom.Fields("classroomname") & Space(2) & rstteacher.Fields("teachername")
rstclasscourse.Update
rstteachercourse.edit
rstteachercourse.Fields(i & j) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & rstclass.Fields("classname") & Space(2) & rstclassroom.Fields("classroomname")
rstteachercourse.Update
rstclassroomcourse.edit
rstclassroomcourse.Fields(i & j) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & rstclass.Fields("classname") & Space(2) & rstteacher.Fields("teachername")
rstclassroomcourse.Update
For h = i + 2 To 5 Step 2
For k = 1 To 4
If rstclasscourse.Fields(h & k) = "1" Then
If rstteachercourse.Fields(h & k) = "1" Then
If rstclassroomcourse.Fields(h & k) = "1" Then
rstclasscourse.edit
rstclasscourse.Fields(h & k) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclassroom.Fields("classroomname") & Space(2) & rstteacher.Fields("teachername")
rstclasscourse.Update
rstteachercourse.edit
rstteachercourse.Fields(h & k) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclass.Fields("classname") & Space(2) & rstclassroom.Fields("classroomname")
rstteachercourse.Update
rstclassroomcourse.edit
rstclassroomcourse.Fields(h & k) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclass.Fields("classname") & Space(2) & rstteacher.Fields("teachername")
rstclassroomcourse.Update
Exit For
End If
End If
End If
Next k
Next h
rstplan.Delete
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
If rstplan.RecordCount() = 0 Then
Exit Do
End If
Else
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
End If
Else
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
End If
Next j
Loop
Set rstplan = dbcourse.OpenRecordset("select * from teachplan where coursetype='4'and weekhour='2' ")
Do Until rstplan.EOF
For i = 1 To 3
For j = 1 To 4
Set rstclasscourse = dbcourse.OpenRecordset("select * from courseclass")
rstclasscourse.Filter = "classid='" & rstplan.Fields("classid") & "'"
Set rstclasscourse = rstclasscourse.OpenRecordset()
If rstclasscourse.Fields(i & j) = "1" Then
Set rstteachercourse = dbcourse.OpenRecordset("select * from courseteacher")
rstteachercourse.Filter = "teacherid='" & rstplan.Fields("teacherid") & "'"
Set rstteachercourse = rstteachercourse.OpenRecordset()
If rstteachercourse.Fields(i & j) = "1" Then
Set rstclassroomcourse = dbcourse.OpenRecordset("select * from courseclassroom where type='3'")
rstclassroomcourse.MoveFirst
Do While rstclassroomcourse.Fields(i & j) <> "1"
rstclassroomcourse.MoveNext
If rstclassroomcourse.EOF = True And j = 4 Then
Exit For
End If
Loop
Set rstclass = db.OpenRecordset("select * from class ")
rstclass.Filter = "classid='" & rstclasscourse.Fields("classid") & "'"
Set rstclass = rstclass.OpenRecordset()
Set rstcourse = db.OpenRecordset("select * from course")
rstcourse.Filter = "courseid='" & rstplan.Fields("courseid") & "'"
Set rstcourse = rstcourse.OpenRecordset()
Set rstteacher = db.OpenRecordset("select * from teacher")
rstteacher.Filter = "teacherid='" & rstplan.Fields("teacherid") & "'"
Set rstteacher = rstteacher.OpenRecordset()
Set rstclassroom = db.OpenRecordset("select * from classroom")
rstclassroom.Filter = "classroomid='" & rstclassroomcourse.Fields("classroomid") & "'"
Set rstclassroom = rstclassroom.OpenRecordset()
rstclasscourse.edit
rstclasscourse.Fields(i & j) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclassroom.Fields("classroomname") & Space(2) & rstteacher.Fields("teachername")
rstclasscourse.Update
rstteachercourse.edit
rstteachercourse.Fields(i & j) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclass.Fields("classname") & Space(2) & rstclassroom.Fields("classroomname")
rstteachercourse.Update
rstclassroomcourse.edit
rstclassroomcourse.Fields(i & j) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclass.Fields("classname") & "级" & Space(2) & rstteacher.Fields("teachername")
rstclassroomcourse.Update
For h = i + 2 To 5
For k = 1 To 4
If rstclasscourse.Fields(h & k) = "1" Then
If rstteachercourse.Fields(h & k) = "1" Then
If rstclassroomcourse.Fields(h & k) = "1" Then
rstclasscourse.edit
rstclasscourse.Fields(h & k) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclassroom.Fields("classroomname") & Space(2) & rstteacher.Fields("teachername")
rstclasscourse.Update
rstteachercourse.edit
rstteachercourse.Fields(h & k) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclass.Fields("classname") & Space(2) & rstclassroom.Fields("classroomname")
rstteachercourse.Update
rstclassroomcourse.edit
rstclassroomcourse.Fields(h & k) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclass.Fields("classname") & Space(2) & rstteacher.Fields("teachername")
rstclassroomcourse.Update
k = 4
h = 5
End If
End If
End If
Next k
Next h
j = 4
i = 3
rstplan.Delete
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
If rstplan.RecordCount() = 0 Then
Exit Do
End If
Else
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
End If
Else
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
End If
Next j
Next i
Loop
Set rstplan = dbcourse.OpenRecordset("select * from teachplan where coursetype='4'and weekhour=1 ")
Do Until rstplan.EOF
For i = 1 To 5
For j = 1 To 4
Set rstclasscourse = dbcourse.OpenRecordset("select * from courseclass")
rstclasscourse.Filter = "classid='" & rstplan.Fields("classid") & "'"
Set rstclasscourse = rstclasscourse.OpenRecordset()
If rstclasscourse.Fields(i & j) = "1" Then
Set rstteachercourse = dbcourse.OpenRecordset("select * from courseteacher")
rstteachercourse.Filter = "teacherid='" & rstplan.Fields("teacherid") & "'"
Set rstteachercourse = rstteachercourse.OpenRecordset()
If rstteachercourse.Fields(i & j) = "1" Then
Set rstclassroomcourse = dbcourse.OpenRecordset("select * from courseclassroom where type='3'")
rstclassroomcourse.MoveFirst
Do While rstclassroomcourse.Fields(i & j) <> "1"
rstclassroomcourse.MoveNext
If rstclassroomcourse.EOF = True And j = 4 Then
Exit For
i = i + 1
End If
Loop
Set rstclass = db.OpenRecordset("select * from class")
rstclass.Filter = "classid='" & rstclasscourse.Fields("classid") & "'"
Set rstclass = rstclass.OpenRecordset()
Set rstcourse = db.OpenRecordset("select * from course")
rstcourse.Filter = "courseid='" & rstplan.Fields("courseid") & "'"
Set rstcourse = rstcourse.OpenRecordset()
Set rstteacher = db.OpenRecordset("select * from teacher")
rstteacher.Filter = "teacherid='" & rstplan.Fields("teacherid") & "'"
Set rstteacher = rstteacher.OpenRecordset()
Set rstclassroom = db.OpenRecordset("select * from classroom")
rstclassroom.Filter = "classroomid='" & rstclassroomcourse.Fields("classroomid") & "'"
Set rstclassroom = rstclassroom.OpenRecordset()
rstclasscourse.edit
rstclasscourse.Fields(i & j) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclassroom.Fields("classroomname") & Space(2) & rstteacher.Fields("teachername")
rstclasscourse.Update
rstteachercourse.edit
rstteachercourse.Fields(i & j) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclass.Fields("classname") & Space(2) & rstclassroom.Fields("classroomname")
rstteachercourse.Update
rstclassroomcourse.edit
rstclassroomcourse.Fields(i & j) = rstcourse.Fields("coursename") & Space(2) & rstplan.Fields("begintime") & "-" & rstplan.Fields("endtime") & "周" & vbNewLine & rstclass.Fields("classname") & Space(2) & rstteacher.Fields("teachername")
rstclassroomcourse.Update
rstplan.Delete
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
If rstplan.RecordCount() = 0 Then
Exit Do
End If
Else
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
End If
Else
rstplan.MoveNext
If rstplan.EOF Then
rstplan.MoveFirst
End If
End If
Next j
Next i
Loop
Label2.Caption = "课表已生成!" & vbNewLine & "要查询课表,请退出本窗口。"
End Sub
Private Sub Form_Load()
Label1.Caption = "欢迎进入自动排课界面!"
Label2.Caption = ""
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -