?? main_jcxx_tslbsz.frm
字號:
BackColor = &H00C0C0C0&
Caption = "[E]取消"
Height = 360
Left = 3015
Style = 1 'Graphical
TabIndex = 12
Top = 180
Width = 1305
End
Begin VB.CommandButton CmdSave
BackColor = &H00C0C0C0&
Caption = "[S]保存"
Height = 360
Left = 1725
Style = 1 'Graphical
TabIndex = 9
Top = 180
Width = 1305
End
Begin VB.CommandButton CmdAdd
BackColor = &H00C0C0C0&
Caption = "[A]添加"
Height = 360
Left = 435
Style = 1 'Graphical
TabIndex = 10
Top = 180
Width = 1305
End
End
End
Attribute VB_Name = "main_jcxx_tslbsz"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim i As Integer '定義整型變量
Dim rs1 As New ADODB.Recordset '定義數據集對象
Dim Node1 As Node
Public Sub Tree_change() '聲明一個樹狀顯示數據的過程
Dim key, text As String
rs1.Open "select * from tslbb order by 類別編號", Cnn, adOpenKeyset, adLockOptimistic
If rs1.RecordCount > 0 Then
With rs1
.MoveFirst
Do While .EOF = False
If Len(.Fields("類別編號")) = 2 Then
key = Trim(.Fields("類別名稱"))
text = "(" & Trim(.Fields("類別編號")) & ")" & Trim(.Fields("類別名稱"))
Set Node1 = TreeView1.Nodes.Add(, , key, text, Val(.Fields("級別")))
End If
If Len(.Fields("類別編號")) = 5 Then
key = Trim(.Fields("類別名稱"))
text = "(" & Trim(.Fields("類別編號")) & ")" & Trim(.Fields("類別名稱"))
Set Node2 = TreeView1.Nodes.Add(Node1.Index, tvwChild, key, text, Val(.Fields("級別")))
End If
If Len(.Fields("類別編號")) = 9 Then
key = Trim(.Fields("類別名稱"))
text = "(" & Trim(.Fields("類別編號")) & ")" & Trim(.Fields("類別名稱"))
Set Node3 = TreeView1.Nodes.Add(Node2.Index, tvwChild, key, text, Val(.Fields("級別")))
End If
If Len(.Fields("類別編號")) = 14 Then
key = Trim(.Fields("類別名稱"))
text = "(" & Trim(.Fields("類別編號")) & ")" & Trim(.Fields("類別名稱"))
Set Node4 = TreeView1.Nodes.Add(Node3.Index, tvwChild, key, text, Val(.Fields("級別")))
End If
If Len(.Fields("類別編號")) = 20 Then
key = Trim(.Fields("類別名稱"))
text = "(" & Trim(.Fields("類別編號")) & ")" & Trim(.Fields("類別名稱"))
Set Node5 = TreeView1.Nodes.Add(Node4.Index, tvwChild, key, text, Val(.Fields("級別")))
End If
.MoveNext
Loop
End With
End If
rs1.Close
End Sub
Private Sub Form_Activate()
'添加級別列表
For i = 1 To 5
Combo1.AddItem (i) & "級"
Next i
Combo1.ListIndex = 0
'打開表
rs1.Open "select * from tslbb order by 類別編號", Cnn, adOpenKeyset, adLockOptimistic
If rs1.RecordCount > 0 Then
For i = 1 To 3
If rs1.Fields(i) <> "" Then Text1(i).text = rs1.Fields(i) '將字段值賦給Text1控件數組
Text1(i).Enabled = False
Next i
Combo1.text = rs1.Fields("級別")
End If
rs1.Close '關閉表
Call Tree_change '調用顯示數據過程
CmdSave.Enabled = False
CmdEsc.Enabled = False
End Sub
Private Sub Form_Unload(Cancel As Integer)
frm_main.Enabled = True
End Sub
Private Sub Text1_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)
'回車使控件獲得焦點
If KeyCode = vbKeyReturn And Index < 3 Then Text1(Index + 1).SetFocus
If KeyCode = vbKeyReturn And Index = 3 Then CmdSave.SetFocus
'按向上鍵使控件獲得焦點
If KeyCode = vbKeyUp And Index > 3 Then Text1(Index - 1).SetFocus
End Sub
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
'按類別名稱查詢,并按類別編號排序
rs1.Open "select * from tslbb where 類別名稱='" + TreeView1.SelectedItem.key + "'order by 類別編號", Cnn, adOpenKeyset, adLockOptimistic
If rs1.RecordCount > 0 Then
For i = 1 To 3
Text1(i).text = rs1.Fields(i) '將字段值賦給Text1控件數組
Next i
Combo1.text = rs1.Fields("級別") '賦值給combo1.text
End If
rs1.Close
End Sub
Private Sub CmdAdd_Click() '添加操作
Dim bh As Integer '定義一個整型變量
Dim lsbh As String '定義一個字符串變量
'設置本級編號和類別編號
rs1.Open "select * from tslbb where 級別='" + Combo1.text + "'and 類別編號='" + Text1(2).text + "'order by 類別編號", Cnn, adOpenKeyset, adLockOptimistic
If rs1.RecordCount > 0 Then
If Not rs1.EOF Then rs1.MoveLast
lsbh = rs1.Fields("類別編號")
bh = Right(lsbh, Val(Combo1.text) + 1) + 1
Text1(1).text = Format(bh, String(Val(Combo1.text) + 1, "0"))
Text1(2).text = Left(lsbh, Len(lsbh) - Len(Text1(1).text)) & Text1(1).text
Else
Text1(1).text = Format(1, String(Val(Combo1.text) + 1, "0"))
Text1(2).text = Text1(2).text & Format(1, String(Val(Combo1.text) + 1, "0"))
End If
rs1.Close
'設置控件有效或無效
CmdSave.Enabled = True
CmdEsc.Enabled = True
CmdAdd.Enabled = False
CmdDelete.Enabled = False
Text1(3).Enabled = True
Text1(3).text = "" '清空Text1(3)
Text1(3).SetFocus 'Text1(3)獲得焦點
End Sub
Private Sub CmdDelete_Click() '刪除圖書類別信息
rs1.Open "select * from tslbb where 類別名稱='" + Text1(3).text + "'order by 類別編號", Cnn, adOpenKeyset, adLockOptimistic
With rs1
If .RecordCount > 0 Then
a = MsgBox("您確實要刪除這條數據嗎?", vbYesNo)
If a = vbYes Then
.Delete '刪除記錄
.Update '更新記錄
For i = 1 To 3
Text1(i).text = Adodc1.Recordset.Fields(i) '將字段值賦給Text1控件數組
Next i
Combo1.text = Adodc1.Recordset.Fields("級別")
'設置按鈕有效或無效
CmdSave.Enabled = False
CmdEsc.Enabled = False
CmdAdd.Enabled = True
CmdDelete.Enabled = True
End If
Else
MsgBox ("沒有要刪除的數據!")
End If
End With
rs1.Close
TreeView1.Nodes.Clear '清空TreeView中的數據
Call Tree_change '調用過程
End Sub
Private Sub CmdSave_Click() '保存圖書類別信息
'判斷是否有空項
If Combo1.text = "" Then
MsgBox "系統不允許【級別】為空!"
Exit Sub
End If
If Text1(1).text = "" Then
MsgBox "系統不允許【本級編號】為空!"
Exit Sub
End If
If Text1(2).text = "" Then
MsgBox "系統不允許【類別編號】為空!"
Exit Sub
End If
If Text1(3).text = "" Then
MsgBox "系統不允許【類別名稱】為空!"
Exit Sub
End If
'添加圖書類別信息
rs1.Open "select * from tslbb order by 類別編號", Cnn, adOpenKeyset, adLockOptimistic
rs1.AddNew
For i = 1 To 3
rs1.Fields(i) = Trim(Text1(i).text)
Text1(i).Enabled = False
Next i
rs1.Fields("級別") = Combo1.text
rs1.Update '更新數據庫
rs1.Close '關閉數據集對象
TreeView1.Nodes.Clear
Call Tree_change '調用函數
'設置控件狀態
CmdSave.Enabled = False
CmdEsc.Enabled = False
CmdAdd.Enabled = True
CmdDelete.Enabled = True
End Sub
Private Sub CmdEsc_Click() '取消操作
'清空Text1控件數組
For i = 1 To 3
Text1(i).text = ""
Next i
'設置控件有效或無效
Text1(3).Enabled = False
CmdSave.Enabled = False
CmdEsc.Enabled = False
CmdAdd.Enabled = True
CmdDelete.Enabled = True
End Sub
Private Sub CmdExit_Click()
frm_main.Enabled = True
Unload Me
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -