⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 treeview.frm

📁 一个企业生产管理系统
💻 FRM
📖 第 1 页 / 共 2 页
字号:
    irsold = 1
'    iscurrent = 1
    
    ' 打开记录集。
    With rsPublishers
        
        .Open str, cn, adOpenStatic, adLockOptimistic
        ' 移动到记录尾部获得记录号,然后返回。
        If .RecordCount < 1 Then Exit Sub
        .MoveLast
        .MoveFirst
'        If Not rsPublishers.EOF Then
'        irscurrent = CInt(Len(rsPublishers.Fields(1)))
'        Else
'        GoTo errer
'        End If
'

    End With
    ' 将进程栏设置为最大,并且使它可视。
    With prgLoad
        .Max = rsPublishers.RecordCount
        .Visible = True
    End With
    
    ' 当此记录不是最后一条记录时,添加 ListItem 对象。
    ' 为 ListItem 对象的文本使用 Name 字段。
    Do While Not rsPublishers.EOF
    intIndex = mNode.Index
        intCounter = intCounter + 1
        prgLoad.Value = intCounter ' 更新进程栏。
        irsold = irscurrent
        irscurrent = CInt(Len(rsPublishers.Fields(1)))
        If irscurrent = irsold Then
         Set mNode = tvwdb.Nodes.Add(intIndex, tvwNext, rsPublishers!ware_layer_id, CStr(rsPublishers!ware_id) & CStr(rsPublishers!warename), "closed")
        mNode.Tag = CStr(rsPublishers!quantity) & "_" & Trim(rsPublishers!blong_to)
         ElseIf irscurrent > irsold Then
       
        ' 添加节点到 TreeView, 并且设置它的属性。
         Set mNode = tvwdb.Nodes.Add(intIndex, tvwChild, rsPublishers!ware_layer_id, CStr(rsPublishers!ware_id) & CStr(rsPublishers!warename), "closed")
'         mNode.Tag = "product" ' 标识此表。
        mNode.Tag = CStr(rsPublishers!quantity) & "_" & Trim(rsPublishers!blong_to)
         Else
         i = Abs(irsold - irscurrent) / 8
         
        Set mtempnode = mNode
        For j = 1 To i
        Set mparentnode = mtempnode.Parent
        Set mtempnode = mparentnode
        Next j
         Set mNode = tvwdb.Nodes.Add(mparentnode.Index, tvwNext, rsPublishers!ware_layer_id, CStr(rsPublishers!ware_id) & CStr(rsPublishers!warename), "closed")
        mNode.Tag = CStr(rsPublishers!quantity) & "_" & Trim(rsPublishers!blong_to)
       
        ' 设置变量 intIndex 到新创建的节点的 Index 属性。
        ' 使用此变量添加子节点对象到现在的节点。
        
        End If
        rsPublishers.MoveNext   ' 移动到下一个出版商记录。
    
        
    Loop
    ' 隐藏进程栏
    prgLoad.Visible = False
    ' 将状态栏样式设置为标准。
    'sbrDB.Style = sbrNormal
    ' 对出版商节点进行排序。
    tvwdb.Nodes(1).Sorted = True
    ' 扩展顶节点。
    tvwdb.Nodes(1).Expanded = True
End Sub

Private Sub TreeView1_BeforeLabelEdit(Cancel As Integer)

End Sub

Private Sub COLOP_Click()
Dim IJ As Integer
Dim JI As Integer
IJ = tvwdb.Nodes.Count
For JI = 1 To IJ
tvwdb.Nodes(JI).Expanded = False
Next
End Sub

Private Sub Command1_Click()
add_ware_Click
End Sub

Private Sub Command2_Click()
ADD_XWARE_Click
End Sub

Private Sub Command3_Click()
delete_ware_Click
End Sub

Private Sub Command4_Click()
edit_ware_Click
End Sub

Private Sub command5_Click()
tvwdb.Nodes.Clear
    With tvwdb
        .Sorted = True
        Set mNode = .Nodes.Add()
        .LabelEdit = False
        .LineStyle = tvwRootLines
    End With
    
    With mNode ' Add first node.
        .Text = "总仓库"
        .Tag = "WARE"
        .Image = "closed"
    End With
rsPublishers.Close
cmdLoad_Click

End Sub

Private Sub Command6_Click()
frmware_compos1.text1(0).Text = tvwdb.SelectedItem.Key
frmware_compos1.Text2.Text = Left(tvwdb.SelectedItem.Text, 7)
frmware_compos1.text1(1).Text = Right(tvwdb.SelectedItem, Len(tvwdb.SelectedItem) - 7)
Me.Visible = False
End Sub

Private Sub delete_ware_Click()
Dim temp As String
If tvwdb.SelectedItem.Children > 0 Then MsgBox "不能删除零件,因为它还有子零件", vbOKOnly, "错误提示"
temp = tvwdb.SelectedItem.Key
cn.Execute "delete from ware_product where ware_layer_id = '" & temp & "'"
End Sub

Private Sub edit_ware_Click()
Dim f As New addware
If strleft = "" Then
If MsgBox("您未选择需要增加的零件", vbOKOnly, "操作错误") = vbOK Then Exit Sub
End If
iflag = 2
f.Show
End Sub

Private Sub EXPAND_Click()
Dim IJ As Integer
Dim JI As Integer
IJ = tvwdb.Nodes.Count
For JI = 1 To IJ
tvwdb.Nodes(JI).Expanded = True
Next
End Sub

Private Sub Form_Load()
On Error GoTo errFind

    Set cn = New ADODB.Connection
    ' ConnectionString 包含数据库路径。如果
    ' Biblio.mdb 不存在与您的机器上,您可以在 MSDN CD 上查找。
    If tvwdb_show = 2 Then
    Command1.Visible = False
    Command2.Visible = False
    Command3.Visible = False
     Command4.Visible = False
     command5.Visible = False
   End If
    With cn
        .ConnectionString = "Provider=MSDASQL.1;Persist Security Info=False;Data Source=warehouse;"
        .Open
    End With
    
    ' Configure cmbView control.
'    With cmbView
'        .AddItem "Icon View"         ' 0
'        .AddItem "SmallIcon View"    ' 1
'        .AddItem "List View"         ' 2
'        .AddItem "Report View"       ' 3
'        .ListIndex = 3
'    End With

    ' Configure ListView control.
 '   lvwDB.View = lvwReport
        
    ' Configure TreeView
    With tvwdb
        .Sorted = True
        Set mNode = .Nodes.Add()
        .LabelEdit = False
        .LineStyle = tvwRootLines
    End With
    
    With mNode ' Add first node.
        .Text = "总仓库"
        .Tag = "WARE"
        .Image = "closed"
    End With
   ' frmTreeview.Show
'   If tvwdb.SelectedItem.Tag = "WARE" Then
'   strleft = "ware"
'   Command2.Enabled = False
'   Command3.Enabled = False
'   Command4.Enabled = False
'   command5.Enabled = False
'   End If
    
    cmdLoad_Click
   ' mnuLoad_Click
    Exit Sub
  Form_Resize
    ' 如果 Biblio 数据库不能被找到,打开
    ' 公用对话框控件让用户来查找它。
errFind:
    
'    If Err = -2147467259 Then
'        Set cn = Nothing
'        Set cn = New ADODB.Connection
'        cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & FindBiblio
'        cn.Open
'        Resume Next
'    ElseIf Err <> 0 Then ' 其他的错误
'        MsgBox "不期望的错误: " & Err.Description
'        End
'    End If
End Sub



Private Sub Form_Resize()
    On Error Resume Next
  '  frmTreeview.Move 100, 100, Me.ScaleWidth - 200, Me.ScaleHeight - 200
   ' frmTreeview.RightMargin = frmTreeview.Width - 400
End Sub





Private Sub tvwdb_BeforeLabelEdit(Cancel As Integer)
strleft = ""
MsgBox "yyyyyyyy", vbOKOnly, "uuuuuuuu"
End Sub

Private Sub tvwdb_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    Dim inde As Integer
    inde = tvwdb.SelectedItem.Index
    If Button = 2 And inde > 1 Then
    'If tvwdb.Nodes.Item(inde).Selected = True Then
   
'       PopupMenu (ware_manage)
    '  End If
     End If
End Sub

Private Sub tvwdb_NodeClick(ByVal node As MSComctlLib.node)
Dim comstr As String
Dim comchar As String
Dim i As Integer
strleft = node.Key
strcomplete = strleft & strright

If node.Tag = "WARE" Then Exit Sub

i = InStr(node.Tag, "_")
comstr = Left(node.Tag, i - 1)
comchar = Right(node.Tag, Len(node.Tag) - i)
text1.Text = comstr
Text2.Text = comchar
strcomplete = node.Key



End Sub

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -