📄 frmstu.frm
字号:
VERSION 5.00
Object = "{831FDD16-0C5C-11D2-A9FC-0000F8754DA1}#2.0#0"; "mscomctl.ocx"
Begin VB.Form Frmstu
Caption = "学生档案管理"
ClientHeight = 6660
ClientLeft = 60
ClientTop = 450
ClientWidth = 10875
Icon = "Frmstu.frx":0000
LinkTopic = "Form1"
MDIChild = -1 'True
ScaleHeight = 6660
ScaleWidth = 10875
WindowState = 2 'Maximized
Begin VB.PictureBox SliptBar
BackColor = &H00808080&
BorderStyle = 0 'None
DrawStyle = 1 'Dash
FillColor = &H000000FF&
FillStyle = 2 'Horizontal Line
ForeColor = &H000000FF&
Height = 4740
Left = 2280
MouseIcon = "Frmstu.frx":1272
ScaleHeight = 4740
ScaleMode = 0 'User
ScaleWidth = 45
TabIndex = 2
Top = 240
Visible = 0 'False
Width = 40
End
Begin MSComctlLib.ListView ListView
Height = 4815
Left = 2520
TabIndex = 1
ToolTipText = "双击显示详细资料"
Top = 0
Width = 6375
_ExtentX = 11245
_ExtentY = 8493
Sorted = -1 'True
LabelWrap = -1 'True
HideSelection = -1 'True
FullRowSelect = -1 'True
GridLines = -1 'True
_Version = 393217
Icons = "ImageList2"
SmallIcons = "ImageList2"
ColHdrIcons = "ImageList2"
ForeColor = -2147483640
BackColor = -2147483643
BorderStyle = 1
Appearance = 1
NumItems = 0
End
Begin MSComctlLib.TreeView TreeView
Height = 4335
Left = 0
TabIndex = 0
Top = 0
Width = 1815
_ExtentX = 3201
_ExtentY = 7646
_Version = 393217
HideSelection = 0 'False
Style = 7
ImageList = "ImageList1"
BorderStyle = 1
Appearance = 1
End
Begin MSComctlLib.ImageList ImageList1
Left = 3360
Top = 5160
_ExtentX = 1005
_ExtentY = 1005
BackColor = -2147483643
ImageWidth = 16
ImageHeight = 16
MaskColor = 12632256
_Version = 393216
BeginProperty Images {2C247F25-8591-11D1-B16A-00C0F0283628}
NumListImages = 2
BeginProperty ListImage1 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "Frmstu.frx":13C4
Key = "class"
Object.Tag = "class"
EndProperty
BeginProperty ListImage2 {2C247F27-8591-11D1-B16A-00C0F0283628}
Picture = "Frmstu.frx":16F4
Key = "cla2"
EndProperty
EndProperty
End
Begin VB.Image imgSplit
Height = 6105
Left = 2040
MousePointer = 9 'Size W E
Top = 0
Width = 90
End
End
Attribute VB_Name = "Frmstu"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim SelectNum As String
Dim MDown As Boolean
Const sglSplitLimit = 500
Private Sub Form_Load()
Call TreeviewLoad
Dim clmX As ColumnHeader
Set clmX = ListView.ColumnHeaders.Add(, , "学 号", ListView.Width / 7)
Set clmX = ListView.ColumnHeaders.Add(, , "姓 名", ListView.Width / 8, 2)
Set clmX = ListView.ColumnHeaders.Add(, , "性 别", ListView.Width / 10, 2)
Set clmX = ListView.ColumnHeaders.Add(, , "民 族", ListView.Width / 8, 2)
Set clmX = ListView.ColumnHeaders.Add(, , "政治面貌", ListView.Width / 7, 2)
Set clmX = ListView.ColumnHeaders.Add(, , "寝室号码", ListView.Width / 7, 2)
Set clmX = ListView.ColumnHeaders.Add(, , "家庭住址", ListView.Width / 1.9, 2)
End Sub
Private Sub ListView_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
If Button = 2 Then
PopupMenu Frmmain.pop
End If
End Sub
Private Sub imgSplit_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
With imgSplit
SliptBar.Move .Left, .Top, .Width \ 2, .Height - 20
End With
SliptBar.Visible = True
MDown = True
End Sub
Private Sub imgSplit_MouseMove(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim lPos As Single
If MDown Then
lPos = x + imgSplit.Left
If lPos < sglSplitLimit Then
SliptBar.Left = sglSplitLimit
ElseIf lPos > Me.ScaleWidth - sglSplitLimit Then
SliptBar.Left = Me.ScaleWidth - sglSplitLimit
Else
SliptBar.Left = lPos
End If
End If
End Sub
Private Sub imgSplit_MouseUp(Button As Integer, Shift As Integer, x As Single, y As Single)
SizeControls SliptBar.Left
SliptBar.Visible = False
MDown = False
End Sub
Private Sub Form_Resize()
On Error Resume Next
If WindowState <> 1 Then
If Me.Height < 3000 Then Me.Height = 3000
If Me.Width < 3000 Then Me.Width = 3000
SizeControls imgSplit.Left
End If
ListView.Width = Me.Width
ListView.ListItems(0).Width = 5000
End Sub
Sub SizeControls(x As Single)
On Error Resume Next
'设置 Width 属性
If x < 1500 Then x = 1500
If x > (Me.Width - 1500) Then x = Me.Width - 1500
TreeView.Width = x
imgSplit.Left = x
ListView.Left = x + 50
ListView.Width = Me.Width - (TreeView.Width + 100)
TreeView.Height = Me.ScaleHeight - 50
ListView.Top = TreeView.Top
ListView.Height = TreeView.Height
imgSplit.Top = TreeView.Top
imgSplit.Height = TreeView.Height
End Sub
Private Sub TreeviewLoad()
'加载Treeview 中数据
Dim ef As New ADODB.Recordset
sqlstr = "select * from class order by ID"
ef.Open sqlstr, con, 1, 1
'开始安装目录树!
TreeView.Nodes.Clear
TreeView.LabelEdit = 1
TreeView.Nodes.Add , , "R", "学生信息浏览/管理", 1
Do While Not ef.EOF
classid = ef.Fields("ID")
Set Mnode = TreeView.Nodes.Add("R", tvwChild)
Mnode.Text = classid & "班"
Mnode.Tag = "classid"
Mnode.Image = 2
ef.MoveNext
Loop
ef.Close: Set ef = Nothing
TreeView.Nodes(1).Expanded = True
End Sub
Public Sub ListviewLoad(ByVal classid As String)
On Error Resume Next
Dim Listit As ListItem
ListView.ListItems.Clear
ListView.LabelEdit = lvwManual
ListView.View = 3
Dim ef As New ADODB.Recordset, sqlstr As String
classid = Left(classid, 6)
sqlstr = "select * from StuInfo where SID like '" & classid & "__' order by SID"
ef.Open sqlstr, con, 1, 1
Do While Not ef.EOF
Set Listit = ListView.ListItems.Add(, , ef.Fields("SID"))
Listit.SubItems(1) = ef.Fields("SName")
Listit.SubItems(2) = ef.Fields("SGender")
Listit.SubItems(3) = ef.Fields("SMinzu")
Listit.SubItems(4) = ef.Fields("SZhengzhi")
Listit.SubItems(5) = ef.Fields("SDormitory")
Listit.SubItems(6) = ef.Fields("SAddress")
'Listit.Key = ef.Fields("SID") & "班"
ef.MoveNext
Loop
ef.Close: Set ef = Nothing
ListView.SetFocus
End Sub
Public Sub SqlListview(ByVal sqlstr As String)
On Error Resume Next
'MsgBox sqlstr
Dim Listit As ListItem
ListView.ListItems.Clear
ListView.LabelEdit = lvwManual
ListView.View = 3
Dim ef As New ADODB.Recordset
ef.Open sqlstr, con, 1, 1
If ef.EOF Then
MsgBox "没有找到你需要的学生资料,请重新选择查询条件!", vbInformation
frmstusearch.Text1.Text = ""
frmstusearch.Text1.SetFocus
Exit Sub
Else
Do While Not ef.EOF
Set Listit = ListView.ListItems.Add(, , ef.Fields("SID"))
Listit.SubItems(1) = ef.Fields("SName")
Listit.SubItems(2) = ef.Fields("SGender")
Listit.SubItems(3) = ef.Fields("SMinzu")
Listit.SubItems(4) = ef.Fields("SZhengzhi")
Listit.SubItems(5) = ef.Fields("SDormitory")
Listit.SubItems(6) = ef.Fields("SAddress")
ef.MoveNext
Loop
End If
ef.Close: Set ef = Nothing
Unload frmstusearch
End Sub
Private Sub TreeView_NodeClick(ByVal Node As MSComctlLib.Node)
'正在导入数据,提示用户等待
Me.MousePointer = 11
If Node.Tag = "classid" Then
'开始在ListView中显示数据
classid = Left(Node.Text, 6)
Call ListviewLoad(classid)
ElseIf Node.Key = "S" Then
Call SqlListview(SqlSearch)
Else
ListView.ListItems.Clear
End If
Me.MousePointer = 0
End Sub
Public Sub ModifyStu()
'显示窗口
Dim EditNum As String
If ListView.SelectedItem.Selected Then
EditNum = CStr(ListView.SelectedItem.Text)
Call FrmAddStu.LoadStu(EditNum)
Else
Exit Sub
End If
End Sub
Public Sub AddStu()
Call FrmAddStu.LoadStu("00000000")
End Sub
Public Sub DelStu()
If ListView.SelectedItem.Selected Then
If MsgBox("确定要删除学号为 " & ListView.SelectedItem.Text & "的全部资料吗!", vbYesNo + 32 + vbDefaultButton2) = vbYes Then
sqlstr = "delete from StuInfo where SID='" & ListView.SelectedItem.Text & "'"
con.Execute sqlstr
Call ListviewLoad(classid)
End If
End If
End Sub
Public Sub ListView_DblClick()
On Error Resume Next
If ListView.SelectedItem.Selected Then
SelectNum = ListView.SelectedItem.Text
If SelectNum <> "" Then
'显示出该生全部信息表单
Call frmstuinfo.LoadStuInfo(SelectNum)
Else
Exit Sub
End If
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -