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

📄 d成绩单生成.frm

📁 人事管理系统:包括员工公资的管理,考勤的管理,还有各种考核等功能
💻 FRM
字号:
VERSION 5.00
Begin VB.Form D成绩单生成 
   Caption         =   "成绩单生成"
   ClientHeight    =   4575
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   8385
   LinkTopic       =   "Form1"
   ScaleHeight     =   4575
   ScaleWidth      =   8385
   StartUpPosition =   3  'Windows Default
   Begin VB.Frame Frame1 
      Caption         =   "成绩单"
      Height          =   4455
      Index           =   0
      Left            =   0
      TabIndex        =   0
      Top             =   0
      Width           =   8295
      Begin VB.TextBox txtReport 
         Height          =   3735
         Left            =   3840
         MultiLine       =   -1  'True
         ScrollBars      =   3  'Both
         TabIndex        =   11
         Top             =   600
         Width           =   4335
      End
      Begin VB.ComboBox CboQuery 
         Height          =   315
         Index           =   1
         Left            =   1080
         TabIndex        =   6
         Top             =   960
         Width           =   2295
      End
      Begin VB.ComboBox CboQuery 
         Height          =   315
         Index           =   0
         Left            =   1080
         TabIndex        =   5
         Top             =   480
         Width           =   2295
      End
      Begin VB.ComboBox CboQuery 
         Height          =   315
         Index           =   2
         Left            =   1080
         TabIndex        =   4
         Top             =   1440
         Width           =   2295
      End
      Begin VB.ComboBox CboQuery 
         Height          =   315
         Index           =   3
         Left            =   1080
         TabIndex        =   3
         Top             =   1920
         Width           =   2295
      End
      Begin VB.CommandButton CmdReport 
         Caption         =   "生成成绩单"
         Height          =   375
         Left            =   1080
         TabIndex        =   2
         Top             =   2880
         Width           =   1455
      End
      Begin VB.CommandButton CmdExit 
         Caption         =   "退出"
         Height          =   375
         Left            =   1080
         TabIndex        =   1
         Top             =   3360
         Width           =   1455
      End
      Begin VB.Label LblNotes 
         Caption         =   "成绩单"
         Height          =   375
         Left            =   4560
         TabIndex        =   12
         Top             =   240
         Width           =   3255
      End
      Begin VB.Label Label9 
         Caption         =   "系:"
         Height          =   240
         Left            =   600
         TabIndex        =   10
         Top             =   960
         Width           =   495
      End
      Begin VB.Label Label8 
         Caption         =   "学院:"
         Height          =   255
         Index           =   0
         Left            =   480
         TabIndex        =   9
         Top             =   480
         Width           =   735
      End
      Begin VB.Label Label1 
         Caption         =   "班级:"
         Height          =   255
         Left            =   480
         TabIndex        =   8
         Top             =   1440
         Width           =   975
      End
      Begin VB.Label LblCourse 
         Caption         =   "学生:"
         Height          =   375
         Index           =   1
         Left            =   480
         TabIndex        =   7
         Top             =   1920
         Width           =   1335
      End
   End
End
Attribute VB_Name = "D成绩单生成"
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
    '得到院信息记录集
    SQL = " select 院代码,院名称 from 院信息表 order by 院代码"
    Set rst = SelectSQL(SQL, msg)
    If rst.RecordCount > 0 Then             '如果存在院信息,初始化院ComboBox
        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、学生ComboBox
End If
End Sub
Private Sub SelectData(Index As Integer)
'选择下拉框时,更新下拉框内容
    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         '如果存在系信息,初始化系ComboBox
            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
        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         '如果存在班级信息,初始化班级ComboBox
            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(2).Text), 6) & "' order by  学号"
    Set rst = SelectSQL(SQL, msg)
    CboQuery(3).Clear
    If rst.RecordCount > 0 Then             '如果存在学生信息,初始化学生ComboBox
        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 CmdReport_Click()
'显示成绩单
    Dim strCaption As String
    If CboQuery(3).ListCount > 0 Then
        Call LoadData '显示结果
    Else
       MsgBox ("不能显示成绩单!")
       txtReport.Text = ""
    End If
End Sub
Private Sub LoadData()
'显示成绩报表
    Dim stuNo As String
    Dim rs As ADODB.Recordset
    Dim strReport As String
    If CboQuery(2).ListCount > 0 And CboQuery(3).ListCount > 0 Then
        stuNo = Left(Trim(CboQuery(3).Text), 8)
        LblNotes.Caption = stuNo & "号学生成绩单:"
        strReport = strReport & stuNo & "号学生成绩单" & vbCrLf
        '得到每门课程的成绩
        strReport = strReport & "【课程成绩】" & vbCrLf
        SQL = "SELECT 课程名称,成绩 FROM 成绩信息表 INNER JOIN "
        SQL = SQL & "课程信息表 ON 成绩信息表.课程号 = 课程信息表.课程号 "
        SQL = SQL & " WHERE (成绩信息表.学号 = '" & stuNo & "') order by 成绩信息表.课程号"
        Set rs = Nothing
        Set rs = SelectSQL(SQL, msg)
        If rs.RecordCount > 0 Then
            '写信息
             Do While (Not rs.EOF)
                 For Index = 0 To 1
                     If rs.Fields(Index) <> "" Then
                         strReport = strReport & rs.Fields(Index).Name & ":" & rs.Fields(Index) & vbCrLf
                     Else
                         strReport = strReport & rs.Fields(Index).Name & ":" & "未登成绩" & vbCrLf
                     End If
                 Next Index
                 strReport = strReport & "--------------" & vbCrLf
                 rs.MoveNext
             Loop
        Else
            strReport = strReport & "没有成绩....." & vbCrLf
        End If
       '得到平均成绩
        strReport = strReport & "平均成绩:"
        SQL = "SELECT ROUND(AVG(成绩), 2) AS 平均成绩  FROM 成绩信息表 "
        SQL = SQL & " WHERE ( 成绩 >=0 and 学号 = '" & stuNo & "') "
        Set rs = Nothing
        Set rs = SelectSQL(SQL, msg)
        If rs.RecordCount > 0 Then
            strReport = strReport & rs.Fields(0) & vbCrLf
        End If
        txtReport.Text = strReport '显示成绩单
        rs.Close
    Else
        MsgBox ("不能显示成绩单!")
    End If
End Sub
Private Sub CboQuery_Click(Index As Integer)
    Dim strCaption As String
    If Index = 0 Then
        Call SelectData(0) '得到系列表
    ElseIf Index = 1 Then
        If CboQuery(1).ListCount > 0 Then
            Call SelectData(1) '得到班级列表
        End If
    ElseIf Index = 2 Then
        If CboQuery(2).ListCount > 0 Then
            Call FixData   '显示学生列表
        End If
        
    End If
End Sub


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 + -