📄 main_jbzl_qygl.frm
字号:
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 + -