三个控制按钮的作用如下所示:
n Command1按钮:在程序运行的过程中,把当前对数据库的修改操作存储起来,同时更新数据库的显示;
n Command2按钮:在程序运行的过程中,向当前的数据末尾追加一条新的记录,同时更新数据库的显示;
n Command1按钮:在程序运行的过程中,删除当前数据信息,同时更新数据库的显示。
在本示例程序中,所谓程序的初始化,指的就是为窗体事件Private Sub Form_Load()添加响应代码。
在程序设计的过程中,首先用鼠标双击窗体上的空白处,在屏幕上就会弹出一个代码窗口,在代码窗口的对象列表中选择窗体UserDocument,在对应的事件列表中选择窗体的初始化事件Private Sub UserDocument_Initialize(),同时在代码编辑窗口把光标移动到Private Sub UserDocument_Initialize()事件的处理过程中,并且添加如下所示的程序初始化代码:
Private Sub UserDocument_Initialize()
UserDocument.Data1.DatabaseName = "D:\Microsoft Visual Studio\Visual Basic98\Biblio.mdb"
'设置打开数据库的路径和文件名
UserDocument.Data1.RecordSource = "Publishers"
'设置显示数据源
UserDocument.Text1.DataField = "name"
UserDocument.Text2.DataField = "company name"
UserDocument.Text3.DataField = "telephone"
UserDocument.Text4.DataField = "address"
'设置文本框显示字段名称
UserDocument.Command1.Enabled = True
UserDocument.Command2.Enabled = True
UserDocument.Command3.Enabled = True
'设置按钮控件的有效状态
End Sub
窗体Private Sub UserDocument_Initialize()事件中的代码在对话框窗体被激活的初期就被执行,程序首先会通过语句UserDocument.Data1.DatabaseName = "D:\Microsoft Visual Studio\Visual Basic98\Biblio.mdb"和UserDocument.Data1.RecordSource = "Publishers"设置了打开的数据库路径、名字及显示数据源,然后程序通过UserDocument.Text1.DataField = "name"等四条语句设置了文本框显示字段的名称。
提示:
@ 在程序初始化的最后,通过四条语句设置了按钮的有效状态。
经过程序初始化后的运行窗体如图7-23所示。

图7-23 经过程序初始化后的运行窗体
在窗体上放置有三个按钮控件,它们是在程序运行的过程中完成对数据库的修改操作。为此,在程序设计的过程中,首先用鼠标激活程序设计的代码窗口,在代码窗口的对象列表中分别选择按钮Command1、Command2和Command3,在对应的事件列表中选择按钮的响应事件Private Sub Command1_Click()、Private Sub Command2_Click()和Private Sub Command3_Click(),把光标移动到事件处理过程中,并且添加如下所示的响应代码:
Private Sub Command1_Click()
UserDocument.Data1.Recordset.Update
End Sub
Private Sub Command2_Click()
UserDocument.Data1.Recordset.MoveLast
UserDocument.Data1.Recordset.AddNew
End Sub
Private Sub Command3_Click()
UserDocument.Data1.Recordset.Delete
UserDocument.Data1.Refresh
End Sub
在程序运行的过程中,当用户单击窗体上的“保存数据”按钮、“追加记录”按钮和“删除记录”按钮时,就会激活控件的Private Sub Command1_Click()、Private Sub Command2_Click()和Private Sub Command3_Click()事件,程序就会通过数据控件Recordset方法中的Update方法、AddNew方法和Delete方法在当前的数据库中完成保存数据、追加记录和删除记录的操作。
按照附后的源程序清单添加剩余的程序代码。用鼠标选择菜单“文件”中的“保存”来存储文件,然后在键盘上按下功能键F5运行程序,程序运行结果如图7-24所示。

图7-24 程序运行结果
附程序完整源代码如下所示:
程序清单
VERSION 6.00
Attribute Visual Basic_Name = "UserDocument1"
Attribute Visual Basic_GlobalNameSpace = False
Attribute Visual Basic_Creatable = True
Attribute Visual Basic_PredeclaredId = False
Attribute Visual Basic_Exposed = True
Option Explicit
Private Sub UserDocument_Initialize()
UserDocument.Data1.DatabaseName = "D:\Microsoft Visual Studio\Visual Basic98\Biblio.mdb"
'设置打开数据库的路径和文件名
UserDocument.Data1.RecordSource = "Publishers"
'设置显示数据源
Form1.Text1.DataField = "name"
Form1.Text2.DataField = "company name"
Form1.Text3.DataField = "telephone"
Form1.Text4.DataField = "address"
'设置文本框显示字段名称
UserDocument.Command1.Enabled = True
UserDocument.Command2.Enabled = True
UserDocument.Command3.Enabled = True
'设置按钮控件的有效状态
End Sub
Private Sub Command1_Click()
UserDocument.Data1.Recordset.Update
'保存修改结果
End Sub
Private Sub Command2_Click()
UserDocument.Data1.Recordset.MoveLast
'移动到数据库最后一条记录
UserDocument.Data1.Recordset.AddNew
'添加新记录
End Sub
Private Sub Command3_Click()
UserDocument.Data1.Recordset.Delete
'删除当前记录
UserDocument.Data1.Refresh
'刷新数据库
End Sub
随着软件编程技术的发展,Visual Basic 的数据库功能异军突起,在Visual Basic中可以独立的设计出数据库应用程序,同时完全不会依靠外部的数据库,但是它的功能却一点也不逊色。
本章我们主要介绍了数据管理器和数据控件的应用,同时还详细介绍了在Visual Basic中开发数据库应用程序的一般步骤。通过具体的示例学习仍然是本章学习的途径,相信读者在实践中能够独立开发出自己满意的程序。
另外,Visual Basic数据库编程是一项庞大而复杂的课题,读者若想成为一个Visual Basic的数据库开发的大师,笔者建议你继续钻研学习以下方面的内容:
n Microsoft的数据库控件以及内建的Jet数据库引擎技术;
n Jet数据库引擎在Visual Basic中的对象模型和各种DAO(Data Access Objects);
n 通过ODBC驱动程序利用ODBC的API操作其他的外部数据库(External Database);
n 深入学习SQL语言和VBSQL的扩展特性。