📄 地址簿.txt
字号:
Public Sub RefreshAddress()
Rem 刷新树形控件,用于显示数据库中的地址个数及客户姓名
TreeView1.Nodes.Clear
Dim i As Integer
Dim TNode As Node
Data1.Recordset.MoveFirst
Rem 将Data控件的记录集中的“姓名”字段作为树形控件的标识字符串
While Not Data1.Recordset.EOF
Set TNode = TreeView1.Nodes.Add
If Not IsNull(Data1.Recordset.Fields("姓名")) Then
TNode.Text = Data1.Recordset.Fields("姓名")
End If
TNode.Key = "N" & CStr(Data1.Recordset.Fields(0))
TNode.Image = 3
Data1.Recordset.MoveNext
Wend
Data1.Recordset.MoveFirst
End Sub
Public Sub OpenAddressBook(FileName As String)
Rem 设置Data控件访问的数据库
Data1.DatabaseName = FileName
Rem 设置Data控件的数据源
Data1.RecordSource = "地址簿"
Data1.Refresh
Rem 刷新树形控件,显示客户个数和姓名
RefreshAddress
End Sub
Private Sub CmdPic_Click()
Rem 利用打开文件对话框选择照片文件,并显示在图像框中
On Error Resume Next
OFiles.Filter = "图片文件|*.bmp"
OFiles.CancelError = True
OFiles.ShowOpen
If Err.Number <> 0 Then
Err.Clear
Exit Sub
End If
Image1.Picture = LoadPicture(OFiles.FileName)
End Sub
Private Sub DBGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
TreeView1.Nodes(DBGrid1.Row + 1).Selected = True
End Sub
Private Sub Form_Load()
Rem 窗体加载时,打开默认数据库
OpenAddressBook App.Path & "\MyAddressBook.mdb"
End Sub
Private Sub MFDel_Click()
Rem 删除Data控件的记录集中的当前行
Data1.Recordset.Delete
RefreshAddress
DBGrid1.Row = 0
TreeView1.Nodes(1).Selected = True
End Sub
Private Sub MFExit_Click()
End
End Sub
Private Sub MFNew_Click()
Dim i As Integer
Rem 向Data控件的记录集中添加新的记录
Data1.Recordset.AddNew
For i = 1 To 8
Data1.Recordset.Fields(i).Value = ""
Next
Rem 更新数据库
Data1.Recordset.Update
Rem 刷新树形控件
RefreshAddress
Rem 记录集指针指向新添加的记录
Data1.Recordset.MoveLast
Rem 选中第二个选项卡
TabPages.Tabs(2).Selected = True
End Sub
Private Sub MFOpen_Click()
On Error Resume Next
OFiles.Filter = "数据库文件|*.mdb"
OFiles.CancelError = True
OFiles.ShowOpen
If Err.Number <> 0 Then
Err.Clear
Exit Sub
End If
Rem 调用OpenAddressBook方法打开数据库
OpenAddressBook (OFiles.FileName)
End Sub
Private Sub TabPages_Click()
Rem 在显示全部信息的界面和显示个人信息的界面切换
If TabPages.SelectedItem.Index = 1 Then
Frame1.Visible = True
Frame2.Visible = False
Data1.Visible = False
Else
Frame1.Visible = False
Frame2.Visible = True
Data1.Visible = True
End If
End Sub
Private Sub tlbMain_ButtonClick(ByVal Button As MSComctlLib.Button)
Select Case Button.Index
Case 1
MFOpen_Click
Case 2
MFNew_Click
Case 3
MFDel_Click
End Select
End Sub
Private Sub TreeView1_NodeClick(ByVal Node As MSComctlLib.Node)
Rem 设置网络控件中的选中行与树形控件中的结点相对应
DBGrid1.Row = Node.Index - 1
End Sub
Private Sub txtName_Change()
If Not TreeView1.SelectedItem Is Nothing Then
TreeView1.SelectedItem.Text = txtName.Text
End If
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -