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

📄 main_frm.frm

📁 教务处成绩统计系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      Left            =   0
      Top             =   6480
      _ExtentX        =   847
      _ExtentY        =   847
      _Version        =   393216
   End
   Begin VBVsNetMenu.VsNetMenu VsNetMenu 
      Left            =   720
      Top             =   5760
      _ExtentX        =   926
      _ExtentY        =   926
      MenuBarEnd      =   16744576
      MainMenuBackStar=   16711680
      MenuBorder2003  =   16711680
      SelMenuBack     =   15592170
      CheckBack       =   16184821
      SelCheckBack    =   14933984
      MenuBack        =   14215660
      DisabledMenuBack=   14215660
      BmpCount        =   2
      Bmp:1           =   "main_frm.frx":607F
      Mask:1          =   16777215
      Key:1           =   "#File_Open_menu"
      Bmp:2           =   "main_frm.frx":6191
      Mask:2          =   16777215
      Key:2           =   "#Operation_Report_menu"
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "宋体"
         Size            =   9
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
   End
   Begin VB.Label LabTotal 
      AutoSize        =   -1  'True
      BackColor       =   &H00E0E0E0&
      Caption         =   "计算上线人数"
      Enabled         =   0   'False
      BeginProperty Font 
         Name            =   "幼圆"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00FF0000&
      Height          =   240
      Left            =   240
      MousePointer    =   99  'Custom
      TabIndex        =   6
      Top             =   5760
      Visible         =   0   'False
      Width           =   1440
   End
   Begin VB.Label LabOpen 
      AutoSize        =   -1  'True
      BackColor       =   &H00E0E0E0&
      Caption         =   "打开数据库"
      Enabled         =   0   'False
      BeginProperty Font 
         Name            =   "幼圆"
         Size            =   12
         Charset         =   134
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H00FF0000&
      Height          =   240
      Left            =   240
      MousePointer    =   99  'Custom
      TabIndex        =   5
      Top             =   5280
      Visible         =   0   'False
      Width           =   1200
   End
   Begin VB.Menu File_menu 
      Caption         =   "文件(&F)"
      Begin VB.Menu File_Open_menu 
         Caption         =   "打开…"
         Shortcut        =   ^O
      End
      Begin VB.Menu File_Close_menu 
         Caption         =   "关闭(&C)"
      End
      Begin VB.Menu Seperator 
         Caption         =   "-"
      End
      Begin VB.Menu File_Exit_menu 
         Caption         =   "退出(&X)"
      End
   End
   Begin VB.Menu Operation_menu 
      Caption         =   "操作(&O)"
      Begin VB.Menu Operation_Sum_menu 
         Caption         =   "成绩统计"
         Shortcut        =   ^S
      End
      Begin VB.Menu Operation_Report_menu 
         Caption         =   "打印报表"
         Shortcut        =   ^R
      End
      Begin VB.Menu Seperator3 
         Caption         =   "-"
      End
      Begin VB.Menu Operation_AllowEdit_menu 
         Caption         =   "允许修改(&A)"
      End
   End
   Begin VB.Menu Help_menu 
      Caption         =   "帮助(&H)"
      Begin VB.Menu Help_Guide_menu 
         Caption         =   "使用指南"
         Shortcut        =   {F1}
      End
      Begin VB.Menu Help_About_menu 
         Caption         =   "关于…(&A)"
      End
   End
End
Attribute VB_Name = "main_frm"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit

Dim precolor As Long
Dim strTable, strSort As String

Dim MaxCla As Integer

Private Sub Check_Click()

    If DataGrid.AllowUpdate = False Then
    
        Check.Value = 1
        
        Operation_AllowEdit_menu.Checked = True
    
        DataGrid.AllowUpdate = True
    
    Else
    
        Check.Value = 0
    
        Operation_AllowEdit_menu.Checked = False
        
        DataGrid.AllowUpdate = False
    
    End If
End Sub

Private Sub DataGrid_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
If Button = 2 Then
PopupMenu Operation_menu
End If


End Sub


Private Sub File_Close_menu_Click()

LVClass.ListItems.Clear
LVClass.Visible = False
Combo.Clear
Combo.Enabled = False
Check.Value = False
DataGrid.Visible = False
Operation_menu.Enabled = False
Check.Enabled = False
End Sub

Private Sub File_Exit_menu_Click()

End
End Sub


Private Sub File_Open_menu_Click()

LabOpen_Click
End Sub

Private Sub Form_Load()
Set Input_frm = Nothing
Set splash_frm = Nothing

LVClass.SmallIcons = ImageList
LVClass.View = lvwSmallIcon

LVClass.Enabled = False

Operation_menu.Enabled = False
Help_Guide_menu.Enabled = False

End Sub

Private Sub Form_Resize()
If Me.WindowState <> vbMinimized Then
Frame2.Width = Me.Width - 2055
Frame2.Height = Me.Height - 1920
DataGrid.Width = Frame2.Width - 100
DataGrid.Height = Frame2.Height - 330
PBar.Width = DataGrid.Width - 120
VTBar.Width = Me.Width
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
Set db = Nothing
Set td = Nothing

End Sub

Private Sub Help_About_menu_Click()

About_frm.Show vbModal
End Sub


Private Sub LabOpen_Click()
Dim strFileName As String
Dim strA(0 To 1) As String
Dim nPos As Long, i As Long

FDialog.Filter = "数据库文件(*.mdb)|*.mdb"
FDialog.ShowOpen
If FDialog.FileName <> "" Then
strFileName = FDialog.FileName

    strTable = "1"

    strSort = "班级"
    
    If DataGrid.Visible <> False Then
        
        DataGrid.Visible = False
    
    End If
    
    
    PBar.Visible = True
    
    Combo.Clear
    
    LVClass.ListItems.Clear
    
    With Adodc1
    '添加打开对话框
    
        .ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFileName & ";Mode=ReadWrite;Persist Security Info=False"
        
        strSQL = "select * from " & strTable
        
        .RecordSource = strSQL
        
        .Refresh
            
        
        For i = 0 To .Recordset.Fields.Count - 1           '统计所有科目
            
            If DataGrid.Columns.Item(i).Caption <> "姓名" And DataGrid.Columns.Item(i).Caption <> "班级" And DataGrid.Columns.Item(i).Caption <> "序号" Then
                
                Combo.AddItem DataGrid.Columns.Item(i).Caption
            
            End If
        
        Next
    
        
        .Recordset.MoveFirst                           '求班级总数
        
        Do While Not .Recordset.EOF
            
            nPos = nPos + 1
            
            If .Recordset("班级").Value >= MaxCla Then
                
                MaxCla = .Recordset("班级").Value
            
            End If
            
            PBar.Value = Int(10 + nPos * 90 / .Recordset.RecordCount)
            
            .Recordset.MoveNext
        
        Loop
    
        LVClass.ListItems.Add , , "全年级", , 1
        
        For i = 1 To MaxCla
            
            LVClass.ListItems.Add , , "第 " & CStr(i) & " 班", , 1
        
        Next
        
        LVClass.ListItems.Item(1).Selected = False
    
        Frame2.Caption = "共" & CStr(MaxCla) & "个班 " & CStr(.Recordset.RecordCount) & "人"
    
        PBar.Visible = False
        DataGrid.Enabled = True                    '开关界面控件
        DataGrid.Visible = True
        LabTotal.Enabled = True
        Combo.Enabled = True
        Check.Enabled = True
        Operation_menu.Enabled = True
        LabNotice.Visible = True
        LVClass.Visible = True
        LabTip1.Visible = True
        VButTotal.Enabled = True
        VButReport.Enabled = True
        LVClass.Enabled = True
        
    End With
    Exit Sub
End If
End Sub

Private Sub LabTotal_Click()
Dim numLine, numUp, nPos As Integer

    If Combo.Text = "请选择统计项目" Or Combo.Text = "" Then GoTo handle
    
    numLine = Val(InputBox("输入" & Combo.Text & "分数线:", "分数线"))

    numUp = 0
    
    PBar.Visible = True
    
    DataGrid.Visible = False
        
With Adodc1

    If .RecordSource <> strSQL Then  '刷新数据
        
        .RecordSource = strSQL
        
        .Refresh
    
    End If

    .Recordset.MoveFirst
    
    Do While Not .Recordset.EOF            '计算上线人数
        
        nPos = nPos + 1
        
        If .Recordset(Combo.Text).Value >= numLine Then
        
        numUp = numUp + 1
        
        End If
        
        PBar.Value = 10 + nPos * 90 / .Recordset.RecordCount
        
        .Recordset.MoveNext
    
    Loop

    Frame2.Caption = "上线人数:" & CStr(numUp) & "上线率:" & CStr(CInt(100 * numUp / .Recordset.RecordCount)) & "%" & " 共" & CStr(DataGrid.ApproxCount) & "人"
    
    If LVClass.SelectedItem.Index = 1 Then
        
        .RecordSource = "select 班级,姓名," & Combo.Text & " from " & strTable & " where " & Combo.Text & ">=" & CStr(numLine) & " order by " & Combo.Text & " desc"
    
    Else
        
        .RecordSource = "select 姓名," & Combo.Text & " from " & strTable & " where " & Combo.Text & ">=" & CStr(numLine) & " and 班级=" & CStr(LVClass.SelectedItem.Index - 1) & " order by " & Combo.Text & " desc"
    
    End If
    
    .Refresh
    
    PBar.Visible = False
    
    DataGrid.Visible = True

End With
Exit Sub

handle:

MsgBox "请选择统计项目"
PBar.Visible = False

End Sub



Private Sub LVClass_BeforeLabelEdit(Cancel As Integer)
Cancel = 1
End Sub

Private Sub LVClass_Click()

With Adodc1
    
    If LVClass.SelectedItem.Index = 1 Then    '显示各班成绩
        
        strSQL = "select * from " & strTable
        
        .RecordSource = "select * from " & strTable
    
    Else
        
        strSQL = "select * from " & strTable & " where 班级=" & CStr(LVClass.SelectedItem.Index - 1)
        
        .RecordSource = strSQL
    
    End If
    
    .Refresh

End With
End Sub

Private Sub LVClass_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = vbKeyReturn Then
LVClass_Click
End If
End Sub

Private Sub Operation_AllowEdit_menu_Click()

If Check.Value = 0 Then
Check.Value = 1
Operation_AllowEdit_menu.Checked = True
Else
Check.Value = 0
Operation_AllowEdit_menu.Checked = False
End If

End Sub



Private Sub Operation_Report_menu_Click()
On Error Resume Next
DeleteReportDB
Input_frm.Show vbModal
End Sub

Private Sub Operation_Sum_menu_Click()

LabTotal_Click
End Sub

Private Sub VButAbout_Click()

About_frm.Show vbModal
End Sub

Private Sub VButExit_Click()

End
End Sub

Private Sub VButOpen_Click()

LabOpen_Click
End Sub

Private Sub VButReport_Click()
On Error Resume Next
DeleteReportDB
Input_frm.Show vbModal
End Sub

Private Sub VButTotal_Click()

LabTotal_Click
End Sub

⌨️ 快捷键说明

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