我用ACCESS做后台库,VB做前台界面,ADO对象方法。
库中有GSB、BMB、BZB、DAB(工资表、部门表、班组表、档案表)如何能让TREEVIEW实现以下功能?公司名称
---部门1
----班组1
---职员1
---职员2
---职员3
----班组2
---职员4
---职员5
---职员6
---部门2
----班组3
---职员7
---职员8
---职员9
----班组4
---职员10
---职员11
---职员12类似以上形状还需要可以让用户自行添加,并存入ACCESS库的各自表中。应该如何写它的循环?我都折腾一天了。
谢谢各位大侠!
库中有GSB、BMB、BZB、DAB(工资表、部门表、班组表、档案表)如何能让TREEVIEW实现以下功能?公司名称
---部门1
----班组1
---职员1
---职员2
---职员3
----班组2
---职员4
---职员5
---职员6
---部门2
----班组3
---职员7
---职员8
---职员9
----班组4
---职员10
---职员11
---职员12类似以上形状还需要可以让用户自行添加,并存入ACCESS库的各自表中。应该如何写它的循环?我都折腾一天了。
谢谢各位大侠!
'加载部门信息
Dim drst As New ADODB.Recordset
Dim lrst As New ADODB.Recordset
Dim trst As New ADODB.Recordset
TreeView1.Nodes.Add , , "top", "部门结构", 4
drst.Open "select * from Department where deptype=1 order by depNo", cn, adOpenDynamic, adLockOptimistic
'若记录集为空
If drst.EOF Then Exit Sub
drst.MoveFirst
Do Until drst.EOF
TreeView1.Nodes.Add "top", tvwChild, "dep" & Mid(drst(0), 1, 2), drst(1), 1
lrst.Open "select * from department where deptype=2 and depno like '" & Mid(drst(0), 1, 2) & "%' order by depno", cn, adOpenDynamic, adLockOptimistic
Do Until lrst.EOF
TreeView1.Nodes.Add "dep" & Mid(drst(0), 1, 2), tvwChild, "dep" & Mid(lrst(0), 1, 4), lrst(1), 2
trst.Open "select * from department where deptype=3 and depno like '" & Mid(lrst(0), 1, 4) & "%' order by depno", cn, adOpenDynamic, adLockOptimistic
Do Until trst.EOF
TreeView1.Nodes.Add "dep" & Mid(lrst(0), 1, 4), tvwChild, "dep" & trst(0), trst(1), 3
trst.MoveNext
Loop
trst.Close
lrst.MoveNext
Loop
lrst.Close
drst.MoveNext
Loop
End Sub
Dim objRsPosition As ADODB.Recordset ‘职位记录
Dim objRsWorkers As ADODB.Recordset ’职员记录
tvwSet.ImageList = ilsSmall '指定图像列表
tvwSet.Nodes.Add , , "Root", "公司结构", "Folder" '添加根节点
Set objRsDepartment = New ADODB.Recordset '添加部门节点
If funGetDepartment_bln(objRsDepartment) = True Then
i = 1
While Not objRsDepartment.EOF
tvwSet.Nodes.Add "Root", tvwChild, "D_" & i, objRsDepartment("Department").value, "Department"
i = i + 1
objRsDepartment.MoveNext
Wend
End If
i = 1
objRsDepartment.MoveFirst
While Not objRsDepartment.EOF
Set objRsPosition = New ADODB.Recordset '添加职位节点
If funGetPosition_bln(objRsPosition, objRsDepartment("Department").value) = True Then
While Not objRsPosition.EOF
tvwSet.Nodes.Add "D_" & i, tvwChild, "P_" & objRsPosition("ID").value, objRsPosition("WorkPosition").value, "Position"
objRsPosition.MoveNext
Wend
End If
i = i + 1
Set objRsPosition = Nothing
objRsDepartment.MoveNext
Wend
Set objRsDepartment = Nothing
Set objRsWorkers = New ADODB.Recordset '添加职员节点
If funGetWorkers_bln(objRsWorkers) = True Then
While Not objRsWorkers.EOF
If objRsWorkers("Sex").value = "男" Then
tvwSet.Nodes.Add "P_" & objRsWorkers("PositionID").value, tvwChild, "W_" & objRsWorkers("ID").value, objRsWorkers("Name").value, "Boy"
Else
tvwSet.Nodes.Add "P_" & objRsWorkers("PositionID").value, tvwChild, "W_" & objRsWorkers("ID").value, objRsWorkers("Name").value, "Girl"
End If
objRsWorkers.MoveNext
Wend
End If
Set objRsWorkers = Nothing