📄 main_frm.frm
字号:
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 + -