自动生成课程表.frm

来自「学校排课管理系统 科目的查询」· FRM 代码 · 共 1,182 行 · 第 1/4 页

FRM
1,182
字号
           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 + =
减小字号Ctrl + -
显示快捷键?