⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c课程分配.frm

📁 人事管理系统:包括员工公资的管理,考勤的管理,还有各种考核等功能
💻 FRM
字号:
VERSION 5.00
Begin VB.Form C课程分配 
   Caption         =   "课程分配"
   ClientHeight    =   3990
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   8220
   LinkTopic       =   "Form1"
   ScaleHeight     =   3990
   ScaleWidth      =   8220
   StartUpPosition =   3  'Windows Default
   Begin VB.Frame Frame1 
      Caption         =   "课程分配"
      Height          =   3855
      Index           =   0
      Left            =   120
      TabIndex        =   0
      Top             =   120
      Width           =   8055
      Begin VB.CommandButton CmdExit 
         Caption         =   "退出"
         Height          =   375
         Left            =   5760
         TabIndex        =   14
         Top             =   3240
         Width           =   975
      End
      Begin VB.CommandButton CmdDivide 
         Caption         =   "分配"
         Height          =   375
         Left            =   4680
         TabIndex        =   13
         Top             =   3240
         Width           =   1095
      End
      Begin VB.TextBox txtItem 
         Height          =   1215
         Index           =   1
         Left            =   1080
         MultiLine       =   -1  'True
         TabIndex        =   12
         Top             =   1800
         Width           =   5655
      End
      Begin VB.TextBox txtItem 
         Height          =   375
         Index           =   0
         Left            =   1080
         TabIndex        =   11
         Top             =   1320
         Width           =   2295
      End
      Begin VB.ComboBox CboQuery 
         Height          =   315
         Index           =   3
         Left            =   4440
         TabIndex        =   8
         Top             =   840
         Width           =   2295
      End
      Begin VB.ComboBox CboQuery 
         Height          =   315
         Index           =   2
         Left            =   1080
         TabIndex        =   3
         Top             =   840
         Width           =   2295
      End
      Begin VB.ComboBox CboQuery 
         Height          =   315
         Index           =   0
         Left            =   1080
         TabIndex        =   2
         Top             =   360
         Width           =   2295
      End
      Begin VB.ComboBox CboQuery 
         Height          =   315
         Index           =   1
         Left            =   4440
         TabIndex        =   1
         Top             =   360
         Width           =   2295
      End
      Begin VB.Label Label3 
         Caption         =   "备注:"
         Height          =   255
         Left            =   360
         TabIndex        =   10
         Top             =   2040
         Width           =   735
      End
      Begin VB.Label Label2 
         Caption         =   "任课教师:"
         Height          =   375
         Left            =   120
         TabIndex        =   9
         Top             =   1320
         Width           =   1095
      End
      Begin VB.Label LblCourse 
         Caption         =   "全系课程:"
         Height          =   375
         Index           =   1
         Left            =   3480
         TabIndex        =   7
         Top             =   840
         Width           =   1335
      End
      Begin VB.Label Label1 
         Caption         =   "分配班级:"
         Height          =   255
         Left            =   120
         TabIndex        =   6
         Top             =   720
         Width           =   975
      End
      Begin VB.Label Label8 
         Caption         =   "学院:"
         Height          =   255
         Index           =   0
         Left            =   480
         TabIndex        =   5
         Top             =   360
         Width           =   735
      End
      Begin VB.Label Label9 
         Caption         =   "系:"
         Height          =   240
         Left            =   4080
         TabIndex        =   4
         Top             =   360
         Width           =   495
      End
   End
End
Attribute VB_Name = "C课程分配"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim SQL As String
Dim msg As String
Private Sub Form_Load()
'首先需要初始化学院ComboBox、系ComboBox、分配班级ComboBox和全系课程ComboBox
    Dim rst As ADODB.Recordset
    Dim strItem As String
    '初始化学院ComboBox
    SQL = " select 院代码,院名称 from 院信息表 order by 院代码"
    Set rst = SelectSQL(SQL, msg)
    If rst.RecordCount > 0 Then         '如果存在院信息
        Do While Not rst.EOF
            strItem = rst.Fields(0) & " " & rst.Fields(1)
            CboQuery(0).AddItem (strItem)
            rst.MoveNext
        Loop
        rst.Close
        CboQuery(0).ListIndex = 0
    Else                                '如果不存在院信息
        MsgBox ("请先创建院信息!")         '如果没有院信息不能使用
        CboQuery(0).Enabled = False
        CboQuery(1).Enabled = False
        CboQuery(2).Enabled = False
        Exit Sub
    End If
    Call SelectData(0)              '初始化系ComboBox
    If CboQuery(1).ListCount > 0 Then
        Call SelectData(1)          '初始化班级ComboBox
    End If
End Sub
Private Sub SelectData(Index As Integer)
'初始化系ComboBox,班级ComboBox
    Dim rst As ADODB.Recordset
    Dim strItem As String
    If Index = 0 Then '如果是选择院,初始化系ComboBox
        SQL = " select 系代码,系名称 from 系信息表 where 院代码='"
        SQL = SQL & Left(Trim(CboQuery(0).Text), 2) & "' order by  系代码"
        Set rst = SelectSQL(SQL, msg)
        CboQuery(1).Clear
        If rst.RecordCount > 0 Then     '如果存在系信息
            Do While Not rst.EOF
                strItem = rst.Fields(0) & " " & rst.Fields(1)
                CboQuery(1).AddItem (strItem)
                rst.MoveNext
            Loop
            rst.Close
            CboQuery(1).ListIndex = 0
            Call FixData                '在comboBox载入课程列表
        Else                            '如果不存在系信息,退出过程
            Exit Sub
        End If
    ElseIf Index = 1 Then '如果是选择系,初始化班级ComboBox
        SQL = " select 班号,班级名称 from 班级信息表 where 系代码='"
        SQL = SQL & Left(Trim(CboQuery(1).Text), 4) & "' order by  班号"
        Set rst = SelectSQL(SQL, msg)
        CboQuery(2).Clear
        If rst.RecordCount > 0 Then         '如果存在班级信息
            Do While Not rst.EOF
                strItem = rst.Fields(0) & " " & rst.Fields(1)
                CboQuery(2).AddItem (strItem)
                rst.MoveNext
            Loop
            rst.Close
            CboQuery(2).ListIndex = 0
            Call FixData                    '在comboBox载入课程列表
        Else                                '如果不存在班级信息,退出过程
            Exit Sub
        End If
    End If
End Sub
Private Sub FixData()
'在ComboBox载入课程列表
    Dim rst As ADODB.Recordset
    Dim strItem As String
    SQL = " select 课程号,课程名称 from 课程信息表 where 系代码='"
    SQL = SQL & Left(Trim(CboQuery(1).Text), 4) & "' order by  课程号"
    Set rst = SelectSQL(SQL, msg)
    CboQuery(3).Clear
    If rst.RecordCount > 0 Then         '如果存在课程信息
        Do While Not rst.EOF
            strItem = rst.Fields(0) & " " & rst.Fields(1)
            CboQuery(3).AddItem (strItem)
            rst.MoveNext
        Loop
        rst.Close
        CboQuery(3).ListIndex = 0
    Else                                '如果不存在课程信息退出
        Exit Sub
    End If
End Sub
Private Sub CboQuery_Click(Index As Integer)
    If Index = 0 Then
        Call SelectData(0) '得到系列表
    ElseIf Index = 1 Then
        If CboQuery(1).ListCount > 0 Then
        Call SelectData(1) '得到班级列表
        End If
    End If
End Sub

Private Sub CmdDivide_Click()
    '将课程分配到具体的班级
    Dim rst As ADODB.Recordset
    Dim classNo As String
    Dim courseNo As String
    Dim divDate As String
    classNo = Left(Trim(CboQuery(2).Text), 6)           '得到班号
    courseNo = Left(Trim(CboQuery(3).Text), 6)          '得到课程号
    divDate = Format(Now, "yyyy-mm-dd")                 '得到分配日期
    If Not CheckData(classNo, courseNo) Then            '检查是否已经被分配
        Exit Sub
    End If
    '得到课程分配信息记录集
    SQL = "select * from  课程分配信息表 where 班号='" & strClassNo & "'"
    Set rst = SelectSQL(SQL, msg)
    If CboQuery(3).ListCount > 0 Then                   '如果存在课程信息
        msg = MsgBox("你确认分配吗?", vbYesNo)
        If msg = vbYes Then
            rst.AddNew
            rst.Fields("课程号") = courseNo
            rst.Fields("班号") = classNo
            rst.Fields("分配日期") = divDate
            rst.Fields("任课教师") = Trim(txtItem(0).Text)
            rst.Fields("备注") = Trim(txtItem(1).Text)
            rst.Update
            MsgBox ("分配成功!")
            txtItem(0).Text = ""
            txtItem(1).Text = ""
        End If
    End If
End Sub
Private Function CheckData(classNo As String, courseNo As String) As Boolean
    '唯一性检查
    Dim rst As ADODB.Recordset
    SQL = "select * from  课程分配信息表 where 班号='" & classNo & "'"
    SQL = SQL & " and 课程号='" & courseNo & "'"
    Set rst = SelectSQL(SQL, msg)
    If rst.RecordCount > 0 Then                         '如果已经存在分配记录
        CheckData = False
        MsgBox ("重复分配!")
    ElseIf rst.RecordCount = 0 Then                     '如果不存在分配记录
        CheckData = True
    End If
End Function
Private Sub CmdExit_Click()
'退出操作
    Unload Me
    学生档案管理.Enabled = True
End Sub

Private Sub Form_Unload(Cancel As Integer)
'退出操作
    Unload Me
    学生档案管理.Enabled = True
End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -