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

📄 main_jbzl_qygl.frm

📁 EMS是一个企业营销管理系统,功能强大,供大家享用,希望大家多多支持!!
💻 FRM
📖 第 1 页 / 共 2 页
字号:
      Top             =   1785
      Width           =   1380
   End
   Begin VB.Label Label1 
      BackStyle       =   0  'Transparent
      Caption         =   "区域码:"
      Height          =   270
      Index           =   3
      Left            =   3465
      TabIndex        =   9
      Top             =   2940
      Width           =   1380
   End
   Begin VB.Label Label1 
      BackStyle       =   0  'Transparent
      Caption         =   "邮政编码:"
      Height          =   270
      Index           =   5
      Left            =   3465
      TabIndex        =   8
      Top             =   3360
      Width           =   1380
   End
End
Attribute VB_Name = "main_jbzl_qygl"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim rs1 As New ADODB.Recordset
Dim i As Integer
Dim blnTJ As Boolean, blnAdd As Boolean
Dim bmjc As Integer
Dim qybh As String
Public lngOL As Long
Public Sub tree_change()     '定义添加树状列表的函数
  TreeView1.Nodes.Clear
  Dim mNode As Node
  rs1.Open "select * from 区域表 order by 区域编号,编码级次", Cnn, adOpenKeyset, adLockOptimistic
  If rs1.RecordCount > 0 Then
  rs1.MoveFirst
   Do While rs1.EOF = False
     Select Case rs1.Fields("编码级次")
        Case 1
          Set mNode = TreeView1.Nodes.Add()
          mNode.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("区域名称")
          mNode.Key = rs1.Fields("区域全称")
        Case 2
          Set mNode1 = TreeView1.Nodes.Add(mNode.Index, tvwChild)
          mNode1.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("区域名称")
          mNode1.Key = rs1.Fields("区域全称")
        Case 3
          Set mNode2 = TreeView1.Nodes.Add(mNode1.Index, tvwChild)
          mNode2.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("区域名称")
          mNode2.Key = rs1.Fields("区域全称")
        Case 4
          Set mNode3 = TreeView1.Nodes.Add(mNode2.Index, tvwChild)
          mNode3.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("区域名称")
          mNode3.Key = rs1.Fields("区域全称")
        Case 5
          Set mNode4 = TreeView1.Nodes.Add(mNode3.Index, tvwChild)
          mNode4.text = "(" & rs1.Fields("本级编号") & ")" & rs1.Fields("区域名称")
          mNode4.Key = rs1.Fields("区域全称")
     End Select
     rs1.MoveNext
  Loop
  End If
  rs1.Close
End Sub
Sub tlbState(state As Boolean)
  With Toolbar1
    If state = True Then
       .Buttons(1).Enabled = False
       .Buttons(2).Enabled = False
       For i = 4 To 11
         .Buttons(i).Enabled = True
       Next i
       For i = 0 To Text1.UBound
         Text1(i).Locked = True
       Next i
    Else
       .Buttons(1).Enabled = True
       .Buttons(2).Enabled = True
       For i = 4 To 11
         .Buttons(i).Enabled = False
       Next i
       For i = 0 To Text1.UBound
         Text1(i).Locked = False
       Next i
     End If
   End With
End Sub
Private Sub Form_Load()
  Me.Caption = text
  tree_change
  tlbState True
  If TreeView1.Nodes.Count > 0 Then TreeView1.Nodes(1).Selected = True

End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
  Dim pos As Long
  Dim strPos As String

  If KeyCode = vbKeyReturn And Index = 2 Then
     If blnAdd = False Then
       Dim mystr As String
       mystr = Left(Text1(3), Len(Text1(3)) - lngOL)
       Text1(3) = mystr & "(" & Text1(1) & ")" & Text1(2)
     Else
       If blnTJ = True Then
          If TreeView1.Nodes.Count > 0 Then
            strPos = InStr(1, TreeView1.SelectedItem.Key, "\", 1)
            If strPos = 0 Then
              Text1(3) = "(" & Text1(1) & ")" & Text1(2)
            Else
              Text1(3) = TreeView1.SelectedItem.Parent.FullPath & "\" & "(" & Text1(1) & ")" & Text1(2)
            End If
          Else
            Text1(3) = "(" & Text1(1) & ")" & Text1(2)
          End If
       Else
          Text1(3) = TreeView1.SelectedItem.FullPath & "\" & "(" & Text1(1) & ")" & Text1(2)
       End If
     End If
     Text1(4).SetFocus
   End If
   If KeyCode = vbKeyReturn And Index > 3 And Index < 5 Then Text1(Index + 1).SetFocus
End Sub

Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button)
  Select Case Button.Key
    Case "ok"
      tlbState True
      If Len(Text1(0)) > 10 Then
        MsgBox "区域编号超长!"
        Exit Sub
      End If
      If blnAdd = True Then
        rs1.Open "select * from 区域表", Cnn, adOpenKeyset, adLockOptimistic
        rs1.AddNew
        For i = 0 To 5
          rs1.Fields(i) = Text1(i)
        Next i
        rs1.Fields("编码级次") = Len(Text1(0)) / 2
        rs1.Update
        rs1.Close
      Else
        rs1.Open "select * from 区域表 where 区域编号='" + Text1(0) + "'", Cnn, adOpenKeyset, adLockOptimistic
        If rs1.RecordCount > 0 Then
        For i = 0 To 5
          rs1.Fields(i) = Text1(i)
        Next i
        rs1.Update
        End If
        rs1.Close
      End If
      tree_change
    Case "cancel"
      tlbState True
    Case "addnew"
      tlbState False
      blnTJ = True
      blnAdd = True
      For i = 0 To Text1.UBound
         Text1(i).text = ""
      Next i
      If TreeView1.Nodes.Count > 0 Then
      rs1.Open "select * from 区域表 where 区域全称='" + TreeView1.SelectedItem.Key + "'order by 编码级次", Cnn, adOpenKeyset, adLockOptimistic
      If rs1.RecordCount > 0 Then
         bmjc = rs1.Fields("编码级次")
      End If
      rs1.Close
      rs1.Open "select * from 区域表 where 区域全称 like '" + Left(TreeView1.SelectedItem.Key, (bmjc - 1) * 2) + "'+'%'and 编码级次=" & bmjc & "", Cnn, adOpenKeyset, adLockOptimistic
      If rs1.RecordCount > 0 Then
         rs1.MoveLast
         Text1(1) = Format(Val(rs1.Fields("本级编号")) + 1, "00")
         Text1(0) = Left(rs1.Fields("区域编号"), Val(bmjc - 1) * 2) & Text1(1)
      Else
         Text1(1) = "01"
         For i = 1 To bmjc
            Text1(0) = Text1(0) & "01"
         Next i
      End If
      rs1.Close
      Else
        Text1(1) = "01"
        Text1(0) = "01"
      End If
      Text1(2).SetFocus
    Case "child"
      tlbState False
      blnTJ = False
      blnAdd = True
      For i = 0 To Text1.UBound
         Text1(i).text = ""
      Next i
      rs1.Open "select * from 区域表 where 区域全称= '" + TreeView1.SelectedItem.Key + "'", Cnn, adOpenKeyset, adLockOptimistic
      If rs1.RecordCount > 0 Then
         rs1.MoveLast
         bmjc = rs1.Fields("编码级次") + 1
         qybh = rs1.Fields("区域编号")
      End If
      rs1.Close
      rs1.Open "select * from 区域表 where 区域编号 like '" + qybh + "'+'%'and 编码级次=" & bmjc & "order by 区域编号", Cnn, adOpenKeyset, adLockOptimistic
      If rs1.RecordCount > 0 Then
         rs1.MoveLast
         Text1(1) = Format(Val(rs1.Fields("本级编号")) + 1, "00")
         Text1(0) = Left(rs1.Fields("区域编号"), Val(bmjc - 1) * 2) & Text1(1)
      Else
         Text1(1) = "01"
         For i = 1 To bmjc
            Text1(0) = qybh & "01"
         Next i
      End If
      rs1.Close
      Text1(2).SetFocus
    Case "modify"
      blnAdd = False
      tlbState False
      lngOL = Len("(" & Text1(1) & ")" & Text1(2))
      Text1(2).SetFocus
    Case "del"
      If TreeView1.SelectedItem.Children > 0 Then
         MsgBox "此区域存在下级区域,不允许删除!"
         Exit Sub
      End If
     Cnn.Execute ("delete from 区域表 where 区域全称='" + TreeView1.SelectedItem.Key + "'")
     tree_change
    Case "expand"
     For i = 1 To TreeView1.Nodes.Count
       TreeView1.Nodes(i).Expanded = True
     Next i
    Case "nexpand"
     For i = 1 To TreeView1.Nodes.Count
       TreeView1.Nodes(i).Expanded = False
     Next i
    Case "exit"
      Unload Me
  End Select
End Sub

Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
  rs1.Open "select * from 区域表 where 区域全称='" + TreeView1.SelectedItem.Key + "'", Cnn, adOpenKeyset, adLockOptimistic
  If rs1.RecordCount > 0 Then
    For i = 0 To 5
      Text1(i) = rs1.Fields(i)
    Next i
  End If
  rs1.Close
End Sub

⌨️ 快捷键说明

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