1. 程式人生 > >完整的treeview菜單實例

完整的treeview菜單實例

升序 lse pri open CP led ledir mov base

以下是我用treeview控件按部門員工顯示設備領用情況代碼.

Option Compare Database
Dim rec As New ADODB.Recordset
Dim recPlant As New ADODB.Recordset
Dim nodindex As Node
Dim keyDepa, strDepa
Dim keyEm, strEm
Dim keyPl, strPl
Private Sub Form_Load()
AutoMxID
‘設置第一級"部門"
rec.Open "qry部門_升序", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
For I = 0 To rec.RecordCount - 1
Set nodindex = Treeview.Nodes.Add(, , "部門" & rec.Fields("depaID"), rec.Fields("depa"), "k1", "k2")
rec.MoveNext
Next
rec.Close
nodindex.Sorted = False
‘設置第二級"員工"
‘* ---------------------------
rec.Open "qry員工_升序", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
For I = 0 To rec.RecordCount - 1
Set nodindex = Treeview.Nodes.Add("部門" & rec.Fields("depaID"), tvwChild, "員工" & rec.Fields("emID"), rec.Fields("emName"), "k1", "k2")
recPlant.Open "Select tblplant.plantid, tblplant.plant, tblplant.emid" & " FROM qry員工使用的設備" & " Where tblplant.emid = ‘" & rec.Fields("emID") & "‘", CurrentProject.Connection, adOpenKeyset, adLockOptimistic, adCmdTableDirect
For N = 0 To recPlant.RecordCount - 1
Set nodindex = Treeview.Nodes.Add("員工" & recPlant.Fields("emID"), tvwChild, "設備" & recPlant.Fields("PlantID"), recPlant.Fields("Plant"), "k1", "k2")
nodindex.Sorted = True
recPlant.MoveNext
Next N
recPlant.Close
nodindex.Sorted = True
rec.MoveNext
Next I
rec.Close
End Sub

Private Sub Treeview_NodeClick(ByVal Node As Object)
Dim nodindex As Node
點擊事件為NodeClick
If Node.Key Like "部門*" Then
keyDepa = Mid(Node.Key, 3)
strDepa = Node.Text: Me.申報部門 = strDepa
End If
If Node.Key Like "員工*" Then
keyEm = Mid(Node.Key, 3)
strEm = Node.Text: Me.申報員工 = strEm
End If

If Node.Key Like "設備*" Then
keyPl = Mid(Node.Key, 3)
strPl = Node.Text: Me.設備名稱 = strPl: Me.設備編號 = keyPl
End If
End Sub

完整的treeview菜單實例