欢迎来到天天文库
浏览记录
ID:41323246
大小:203.00 KB
页数:23页
时间:2019-08-22
《VBA编程基础-数据库编程》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、全国计算机等级考试Access数据库程序设计(二级)万红波烟台大学VBA编程基础常量、变量、运算符和表达式;流程控制语句;过程调用和参数传递;常用操作的实现方法;VBA的数据库编程;5.1数据库引擎及其接口数据库引擎:实现对物理数据库的访问的一组动态链接库(DLL);访问Access数据库使用MicrosoftJet数据库引擎;5.1数据库引擎及其接口数据库访问接口:提供了在程序中访问数据库的方法;VBA中可以使用的数据库访问接口:ODBCAPI(OpenDatabaseConnectivityAPI)DAO(DataAccessObjects)ADO(ActiveXDataObj
2、ects)5.2数据访问对象DAO在VBA中使用该数据访问接口,首先添加对DAO库的引用“工具”->“引用”MicrosoftDAO版本号ObjectLibrary5.2数据访问对象DAO-程序范例‘定义对象变量DimwsAsDAO.WorkspaceDimdbAsDAO.DatabaseDimrsAsDAO.Recordset‘设置对象变量的值Setws=DBEngine.Workspaces(0)’默认工作区Setdb=ws.OpenDatabase(<数据库文件名>)‘Setdb=CurrentDB()直接打开Access中的当前数据库Setrs=db.OpenRecords
3、et(<表名、查询名或SQL语句>)DoWhileNotrs.EOF......rs.MoveNextLoop‘关闭记录集、数据库,释放资源rs.Closedb.CloseSetrs=NothingSetdb=NothingDimdbAsDAO.DatabaseDimrsAsDAO.RecordsetDimfdAsDAO.FieldSetdb=CurrentDb()Setrs=db.OpenRecordset("Student")Setfd=rs.Fields("年龄")DoWhileNotrs.EOFrs.Editfd=fd+1rs.Updaters.MoveNextLooprs
4、.Closedb.CloseSetrs=NothingSetdb=Nothing完成的操作:将当前Access数据库中的Student表的“年龄”字段都加15.3ActiveX数据对象(ADO)引用ADO库MicrosoftActiveXDataObjects版本号LibraryADO和DAO中的有些对象重名,因此要在对象前面加上前缀,用于区别来自两个库的对象ADODBDAO编程范例直接在Connectin对象上打开RecordSet在Command对象上打开RecordSet5.3ADO-程序范例‘创建连接对象、结果集对象DimcnAsNewADODB.ConnectionDim
5、rsAsNewADODB.Recordset‘打开数据库连接cn.Open“数据库连接字符串"‘直接在当前数据库连接上执行SQL查询,返回结果集rs.Open“SQL查询语句",cn‘操作结果集中的数据DoWhileNotrs.EOF......rs.MoveNextLoop‘资源释放rs.Closecn.CloseSetrs=NothingSetcn=Nothing5.3ADO-程序范例DimcnAsNewADODB.ConnectionDimcmAsNewADODB.Commandcn.Open“数据库连接字符串"Withcm.ActiveConnection=cn.Comma
6、ndType=adCmdText.CommandText=“SQL语句"EndWith‘调用Command对象的Execute,返回结果集DimrsAsADODB.RecordsetSetrs=cm.ExecuteDoWhileNotrs.EOF......rs.MoveNextLoop5.3ADO的数据库连接打开当前Access数据库连接DimcnAsConnectionSetcn=CurrentProject.Connection5.3打开结果集时候的参数rs.Open“SQL查询语句”,cn,<游标类型>,<锁定类型>游标类型:adOpenDynamic:动态游标,可以修改数
7、据;adOpenStatic:静态游标,只能查看数据;锁定类型:adLockReadOnly:只读锁定,只能查看数据;adLockOptimstic:乐观锁定,可以修改数据;练习题DimrsAsNewADODB.RecordsetDimfdAsADODB.FieldDimstrSQLAsStringSetcn=CurrentProject.ConnectionstrSQL="SELECT*FROMStudent"rs.OpenstrSQL,cn,adOpenDynam
此文档下载收益归作者所有