'While Not EOF(iFileNum)
' Input #iFileNum, strTeamMemberName, strManagerName
Call AddNode(strTeamMemberName, strManagerName)
.MoveNext
Loop
.MoveLast
End With
Tvwcatalog.Nodes(1).Expanded = True
End Sub
Sub AddRootNode(strManagerName As String)
Dim ndNewNode As Node
Set ndNewNode = Tvwcatalog.Nodes.Add(, , strManagerName, strManagerName, 1, 2)
End Sub
Sub AddNode(strTeamMemberName As String, strManagerName As String)
' Adds a node to the treeview given a managers name and the Team members name
Dim ndNewNode As Node
Set ndNewNode = Tvwcatalog.Nodes.Add(strManagerName, tvwChild, _
strTeamMemberName, _
strTeamMemberName, 2, 3)
End Sub
Private Sub Command1_Click()
Dim rscata As Recordset
Set rscata = New Recordset
rscata.Open "select * from catalog", db, adOpenStatic, adLockOptimistic
'If Tvwcatalog.SelectedItem.Key = "" And Tvwcatalog.Nodes.Count = 0 Then
' 'MsgBox "", vbInformation, "Add Category"
' Exit Sub
'End If
Dim strname As String
Dim Resp As String
Resp = InputBox("请键入分类名(最大为50个字符):", "增加分类", "在这里输入你的分类")
With rscata
' .MoveFirst
' strTeamMemberName = .Fields("catid")
' Call AddRootNode(strTeamMemberName)
Do Until .EOF
' .MoveNext
strname = .Fields("catid")
If Trim(Resp) = strname Then
MsgBox "这个分类已经存在了", vbInformation, "系统提示"
Exit Sub
End If
.MoveNext
Loop
End With
If IsNumeric(Left(Resp, 1)) = True Then
MsgBox "分类不允许数字开头", vbInformation, "系统提示"
Exit Sub
End If
If InStr(1, Resp, Chr(39)) Then
MsgBox "字符[']不能接受", vbInformation, "增加分类"
' Call Commands_ButtonClick(Commands.Buttons("Add_Cat"))
Exit Sub
End If
If Trim(Resp) = "" Then Exit Sub
Dim ndroot As Node
Set ndroot = Tvwcatalog.Nodes.Item(1)
Set nd = ndroot.Child
rscata.AddNew
rscata.Fields("catid") = Left(Trim(Resp), 50)
rscata.Fields("catalog") = ndroot.Text
rscata.Update
Fill_TreeCategories
End Sub
Private Sub Command2_Click()
Dim ndtemp As Node
Dim strMemberName As String
Dim rscata As Recordset
Set rscata = New Recordset
If Tvwcatalog.SelectedItem.Text = "藏品分类" Then
MsgBox "请选择类别", vbInformation, "系统信息"
Exit Sub
End If
rscata.Open "select * from catalog", db, adOpenStatic, adLockOptimistic
If IsNumeric(Left(strMemberName, 1)) = True Then
MsgBox "分类不允许数字开头", vbInformation, "系统提示"
Exit Sub
End If
If InStr(1, strMemberName, Chr(39)) Then
MsgBox "Character ['] not accepted", _
vbInformation, _
"Add SubCategory"
Exit Sub
End If
If Trim(strMemberName) = "" Then Exit Sub
With rscata
.MoveFirst
Do Until .EOF
' .MoveNext
strname = .Fields("catid")
If Trim(strMemberName) = strname Then
MsgBox "这个子类已经存在了", vbInformation, "系统提示"
Exit Sub
End If
.MoveNext
Loop
End With
' TreeView.Nodes("C" & ID).Selected = True
' TreeView.Nodes("C" & ID).EnsureVisible
Exit Sub
errhandler:
If Err = 91 Then MsgBox "You must select a Manager for the New Employee"
Resume exitlabel
exitlabel:
End Sub
Private Sub Command3_Click()
Dim ndTempNode As Node
'Set ndTempNode = ndNode.Child
If Tvwcatalog.SelectedItem.Text = "藏品分类" Then
MsgBox "根类不允许删除", vbInformation, "系统信息"
Exit Sub
End If
If MsgBox("如果你要删除所选择的类别,将会删除此类别下面的所有子类", vbQuestion + vbYesNo, "提示") = vbYes Then
db.BeginTrans
db.Execute "delete from catalog where catid='" & Trim(Tvwcatalog.SelectedItem.Text) & "'"
db.Execute "delete from catalog where catalog='" & Trim(Tvwcatalog.SelectedItem.Text) & "'"
db.CommitTrans
Else
Exit Sub
End If
Else
db.BeginTrans
db.Execute "delete from catalog where catid='" & Trim(Tvwcatalog.SelectedItem.Text) & "'"
db.CommitTrans
End If
Fill_TreeCategories
End Sub
Private Sub Command5_Click()
Dim frm As New Frmwwlr
frm.Txtcpfl.Text = Label1.Caption
frm.Txtcpfl.Refresh
Me.Hide
End Sub
Private Sub Form_Load()
Fill_TreeCategories
End Sub
Private Sub Tvwcatalog_NodeClick(ByVal Node As MSComctlLib.Node)
DoEvents
Tvwcatalog.SelectedItem.Expanded = True
Label1.Caption = Tvwcatalog.SelectedItem.FullPath
End Sub
Private Sub Tvwcatalog_DragOver(Source As Control, X As Single, Y As Single, State As Integer)
Set Tvwcatalog.DropHighlight = Tvwcatalog.HitTest(X, Y)
' If str = "井冈山师院" Then
'strsql = "select 编号,学号,姓名,性别,生日,外号,网名,QQ,E-Mail,个人主页,电话,工作单位,职业,联系地址,备注 from stu"
' strsql = "select * from stu"
'refreshlistview (strsql)
' Else
' str1 = TreeView1.Nodes.Item(TreeView1.SelectedItem.Parent.Index)
' If str1 = "井冈山师院" Then
'strsql = "select 编号,学号,姓名,性别,生日,外号,网名,QQ,E-Mail,个人主页,电话,工作单位,职业,联系地址,备注 from stu where 系别='" & str & "'"
' strsql = "select * from stu where 系别='" & str & "'"
' refreshlistview (strsql)
' Else
'strsql = "select 编号,学号,姓名,性别,生日,外号,网名,QQ,E-Mail,个人主页,电话,工作单位,职业,联系地址,备注 from stu where 系别='" & str1 & "' and 班级='" & str & "'"
' strsql = "select * from stu where 系别='" & str1 & "' and 班级='" & str & "'"
' refreshlistview (strsql)
' End If
' End If
End Sub
Private Sub refreshtreeview(r As String)
Dim i As Integer
Dim j As Integer
i = 1
TreeView1.Nodes.Clear
'TreeView1.ImageList = ImageList2
TreeView1.LineStyle = tvwRootLines
TreeView1.ImageList = ImageList2 '链接图像列
TreeView1.Style = tvwTreelinesPlusMinusPictureText
Set nodex = TreeView1.Nodes.Add(, , r, "井冈山师院")
Set rs = New ADODB.Recordset
rs.CursorLocation = adUseClient
strsql = "select 系别 from dep"
rs.Open strsql, conn, adOpenStatic, adLockPessimistic
'rs.MoveFirst
Do While Not rs.EOF
' MsgBox "a" & i
Set nodex = TreeView1.Nodes.Add(r, tvwChild, Chr(i), rs.Fields(0), 1)
rs.MoveNext
i = i + 1
Loop
If rs.State = 1 Then rs.Close
For j = 2 To TreeView1.Nodes.Count
'Set rs = New ADODB.Recordset
strsql = "select * from class"
rs.Open strsql, conn, adOpenStatic, adLockPessimistic
'rs.MoveFirst
Do While Not rs.EOF
'If TreeView1.Nodes(j).Text = rs!部门 Then
Set nodex = TreeView1.Nodes.Add(TreeView1.Nodes(j).Key, tvwChild, , rs.Fields(0), 2)
'End If
rs.MoveNext
Loop
rs.Close
Next
'Dim i
For i = 1 To TreeView1.Nodes.Count
TreeView1.Nodes(i).Expanded = True '展开所有节点
Next i
End Sub
Private Sub refreshlistview(sqlstr As String)
Dim strsql
ListView1.ListItems.Clear
strsql = sqlstr
Set rs14 = New ADODB.Recordset
rs14.Open strsql, conn, adOpenStatic, adLockPessimistic
'rs.MoveFirst
Do While Not rs14.EOF
Set itemx = ListView1.ListItems.Add(1, , CStr(rs14!编号))
If Not IsNull(rs14!学号) Then
itemx.SubItems(1) = rs14!学号
End If
If Not IsNull(rs14!姓名) Then
itemx.SubItems(2) = rs14!姓名
End If
'itemx.SubItems(3) = rs14.Fields(3).Value
'itemx.SubItems(4) = rs14.Fields(4).Value
itemx.SubItems(3) = rs14.Fields(5).Value
itemx.SubItems(4) = rs14.Fields(6).Value
itemx.SubItems(5) = rs14.Fields(7).Value
itemx.SubItems(6) = rs14.Fields(8).Value
itemx.SubItems(7) = rs14.Fields(9).Value
itemx.SubItems(8) = rs14.Fields(10).Value
itemx.SubItems(9) = rs14.Fields(11).Value
itemx.SubItems(10) = rs14.Fields(12).Value
itemx.SubItems(11) = rs14.Fields(13).Value
itemx.SubItems(12) = rs14.Fields(14).Value
itemx.SubItems(13) = rs14.Fields(15).Value
itemx.SubItems(14) = rs14.Fields(16).Value
rs14.MoveNext
Loop
If Not rs14.EOF Then rs14.MoveFirst
'rs.Close
End Sub
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Dim i As Integer
'If TreeView1.SelectedItem.Children = 0 Then '检查是否有子节点,0为无
'For i = 1 To TreeView1.Nodes.Count
'If TreeView1.Nodes(i).Selected Then
'MsgBox "您选择的是:“" & TreeView1.Nodes(i).FullPath & "”子节点!"
'系统提示
'End If
'Next i
'End If
If TreeView1.SelectedItem.Children = 0 Then
For i = 1 To TreeView1.Nodes.Count
If TreeView1.Nodes(i).Selected Then
str = TreeView1.Nodes.Item(TreeView1.SelectedItem.Index)
str1 = TreeView1.Nodes.Item(TreeView1.SelectedItem.Parent.Index)
ListView1.ListItems.Clear
' MsgBox str & Space(2) & str1
strsql = "select * from stu where 系别='" & str1 & "' and 班级='" & str & "'"
refreshlistview (strsql)
End If
Next i
End If
End Sub
bool = Not bool
If bool Then
ColumnHeader.Text = ColumnHeader.Text & "↑"
ListView1.SortOrder = lvwAscending '升序
Else
ColumnHeader.Text = ColumnHeader.Text & "↓"
ListView1.SortOrder = lvwDescending
End If
ListView1.SortKey = ColumnHeader.Index - 1
ListView1.Sorted = True
End Sub
Private Sub poptreeadd_Click()
'增加系别
Dim strdep
strdep = InputBox("请输入要增加系的名称。如计算机系", "添加系别")
If strdep <> "" Then
Set rs3 = New ADODB.Recordset
rs3.CursorLocation = adUseClient
strsql = "select * from dep where 系别='" & strdep & "'"
rs3.Open strsql, conn, adOpenStatic, adLockPessimistic
If rs3.EOF Then
If rs3.State = 1 Then rs3.Close
strsql = "insert into dep values('" & strdep & "')"
rs3.Open strsql, conn, adOpenStatic, adLockPessimistic
refreshtreeview ("a") '刷新显示treeview
addcombo34 '刷新显示combo34
Else
MsgBox "同一名称的系别已存在,请重新来过"
End If
End If
End Sub
Private Sub poptreeadd1_Click()
'增加班级
Dim strclass
strclass = InputBox("请输入要增加班级的名称。如98(1)班", "添加班级", "98(1)班")
If strclass <> "" Then
Set rs2 = New ADODB.Recordset
rs2.CursorLocation = adUseClient
strsql = "select * from class where 班级='" & strclass & "'"
rs2.Open strsql, conn, adOpenStatic, adLockPessimistic
If rs2.EOF Then
If rs2.State = 1 Then rs2.Close
strsql = "insert into class values('" & strclass & "')"
rs2.Open strsql, conn, adOpenStatic, adLockPessimistic
refreshtreeview ("a") '刷新显示treeview
addcombo34 '刷新显示combo34
Else
MsgBox "同一名称的班级已存在,请重新来过"
End If
End If
End Sub
Private Sub poptreedel_Click()
Dim strtree
'Dim strdep
If TreeView1.SelectedItem.Children <> 0 Then
If TreeView1.SelectedItem.Text = "井冈山师院" Then Exit Sub
strtree = TreeView1.SelectedItem.Text
If strtree = "" Then Exit Sub
If MsgBox("真的要删除吗?" & strtree & "同时会删除此系别所有同学", vbQuestion + vbYesNo, "提示") = vbYes Then
' If rs9.State = 1 Then rs9.Close
Set rs9 = New ADODB.Recordset
rs9.CursorLocation = adUseClient
strsql = "delete from stu where 系别='" & strtree & "'"
rs9.Open strsql, conn, adOpenStatic, adLockPessimistic
If rs9.State = 1 Then rs9.Close
strsql = "delete from dep where 系别='" & strtree & "'"
rs9.Open strsql, conn, adOpenStatic, adLockPessimistic
refreshtreeview ("a")
addcombo34
End If
End If
End Sub
Private Sub poptreedel1_Click()
Dim strtree
'Dim strclass
If TreeView1.SelectedItem.Children = 0 Then
strtree = TreeView1.SelectedItem.Text
If strtree = "" Then Exit Sub
If MsgBox("真的要删除吗?" & strtree & "同时会删除此班级所有同学", vbQuestion + vbYesNo, "提示") = vbYes Then
' If rs9.State = 1 Then rs9.Close
Set rs9 = New ADODB.Recordset
rs9.CursorLocation = adUseClient
strsql = "delete from stu where 班级='" & strtree & "'"
rs9.Open strsql, conn, adOpenStatic, adLockPessimistic
If rs9.State = 1 Then rs9.Close
strsql = "delete from class where 班级='" & strtree & "'"
rs9.Open strsql, conn, adOpenStatic, adLockPessimistic
refreshtreeview ("a")
addcombo34
End If
End If
End Sub
Private Sub poptreeexpend_Click()
Dim i
For i = 1 To TreeView1.Nodes.Count
TreeView1.Nodes(i).Expanded = True '展开所有节点
Next i
End Sub
Private Sub poptreemodi_Click()
Dim strtree
Dim strdep
If TreeView1.SelectedItem.Children <> 0 Then
If TreeView1.SelectedItem.Text = "井冈山师院" Then Exit Sub
strtree = TreeView1.SelectedItem.Text
strdep = InputBox("输入要修改后的系名,如计算机系", "修改", strtree)
If strdep = "" Then Exit Sub
Set rs8 = New ADODB.Recordset
rs8.CursorLocation = adUseClient
strsql = "update stu set 系别='" & strdep & "' where 系别='" & strtree & "'"
rs8.Open strsql, conn, adOpenStatic, adLockPessimistic
If rs8.State = 1 Then rs8.Close
strsql = "update dep set 系别='" & strdep & "' where 系别='" & strtree & "'"
rs8.Open strsql, conn, adOpenStatic, adLockPessimistic
Call trvInfoClass.Nodes.Clear
Set curRecords = gConnection.Execute("SELECT Title,ID FROM tab_Info_class WHERE Parent_Id='-1'")
If curRecords.EOF = False Then
'如果类信息记录集不空,则将现有的类信息标题显示在树型视图中。
'否则,添加一条信息类根节点记录,ID为"00000000000000000001",Title为"信息集合",Parent_Id为"-1"。
'并将此信息类根节点显示在树型视图中。
Set curNode = trvInfoClass.Nodes.Add(, , SJROOTKEY & Trim(CStr(curRecords.Fields("ID"))), Trim(CStr(curRecords.Fields("Title"))), 1, 1)
Call AddChildNodes(curNode)
curRecords.Close
Else
curRecords.Close
Set curRecords = New ADODB.Recordset
Call curRecords.Open("SELECT * FROM tab_Info_class WHERE Parent_Id='-1'", gConnection, adOpenDynamic, adLockPessimistic)
Call curRecords.AddNew
curRecords.Fields("ID") = "00000000000000000001"
curRecords.Fields("Parent_Id") = "-1"
curRecords.Fields("Title") = "信息集合"
Call curRecords.Update
Set curNode = trvInfoClass.Nodes.Add(, , SJROOTKEY & Trim(CStr(curRecords.Fields("ID").Value)), Trim(CStr(curRecords.Fields("Title"))), 1, 1)
Call curRecords.Close
End If
Public Sub AddChildNodes(ByRef rootNode As Node)
'递归显示树视图。
Dim curInfoClassRecords As ADODB.Recordset
Dim curNode As Node
Set curInfoClassRecords = gConnection.Execute("SELECT Title,ID FROM tab_Info_class WHERE Parent_Id='" & Right(rootNode.Key, Len(rootNode.Key) - 4) & "' and " & CURRENTQUERYCONDITION)
If curInfoClassRecords.EOF = True Then ' And curInfoCellRecords.EOF = True Then
curInfoClassRecords.Close
Exit Sub
End If
Do While curInfoClassRecords.EOF = False
Set curNode = trvInfoClass.Nodes.Add(rootNode, tvwChild, SJINFOCLASSKEY & curInfoClassRecords.Fields("ID").Value, curInfoClassRecords.Fields("Title"), 2, 3)
Call curInfoClassRecords.MoveNext
Call AddChildNodes(curNode)
Loop
curInfoClassRecords.Close
End Sub