第9章 VBA数据库编程 (未来教育 全国计算机等级考试 二.ppt_第1页
第9章 VBA数据库编程 (未来教育 全国计算机等级考试 二.ppt_第2页
第9章 VBA数据库编程 (未来教育 全国计算机等级考试 二.ppt_第3页
第9章 VBA数据库编程 (未来教育 全国计算机等级考试 二.ppt_第4页
第9章 VBA数据库编程 (未来教育 全国计算机等级考试 二.ppt_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章VBA数据库编程 2 第9章VBA数据库编程 本章要求掌握常用的操作方法操作数据库对象掌握ADO和DAO的概念及结构 并能使用它们访问数据库 3 9 1VBA常用操作方法一 打开和关闭操作在VBA中 操作主要有 1 打开窗体Docmd OpenForm格式 Docmd OpenFormformname view filtername wherecondition datamode windowmode 参数说明 formname 字符串表达式 代表当前数据库中窗体的有效名称 view 为下列固有常量之一 acDesign asFormDS acNormal acPreviewfiltername 过滤查询的有效名称 主要是对窗体数据源数据进行过滤和筛选wherecondition 字符串表达式 不包含Where关键字的有效SQLWhere子句datamode 为下列固有常量之一 acFormAdd acFormEdit acFormReadOnly acFormPropertySettingswindowmode 用于规定窗体的打开形式 为下列固有常量之一 acDialog acHidden acIcon acWindowNormal 4 例 以对话框形式打开 登陆 窗体Docmd Openform 登陆 acDialog2 打开报表Docmd OpenReport格式 Docmd OpenReportreportname view filtername wherecondition 参数说明 reportname 字符串表达式 代表当前数据库中报表的有效名称view 为下列固有常量之一 acViewDesign acViewNormal acViewPreviewfiltername 字符串表达式 代表当前数据库中查询的有效名称wherecondition 字符串表达式 不包含Where关键字的有效SQLWhere子句 5 例 预览 学生信息 报表Docmd Openreport 学生信息 acViwePreview3 关闭操作Docmd Close格式 Docmd Close objecttype objectname save 参数说明 objiecttype 下列固有常量之一 acDataAccessPage acDefault acDiagram acForm acMacro acModule acQuery acReport acServerView acStoredProcedure acTable objectname 字符串表达式 代表有效的对象名称 save 下列固有常量之一 acSaveNo acSavePrompt acSaveYes 由Docmd Close命令参数可以看出 该命令可以广泛用于关闭Access各种对象 省略所有参数的命令 Docmd Close 可以关闭当前窗体 6 例 关闭 登陆 窗体 Docmd CloseacForm 登陆 关闭 登陆 报表 Docmd CloseacReport 登陆 7 二 输入框输入框主要用于显示提示 并要求用户输入文本 它在VBA中以函数形式调用 格式 InputBox prompt title default xpos ypos helpfile context 参数说明 prompt 提示字符串 title 显示对话框中标题栏的字符串表达式 default 显示文本框中的字符串表达式 xpos 指定对话框左边距屏幕左边的水平距离 ypos 指定对话框上边距屏幕上边的垂直距离 helpfile 为对话框提供上下文的帮助 context 某个主题的帮助上下文编号 8 注意 输入区缺省值有 返回字符类型 否则为数值类型 提示文本如需换行 则用Chr 13 Chr 10 将各行分开 上图所示为inputbox的一个示例 调用语句如下 strName InputBox 请输入你的姓名 Chr 13 Chr 10 然后单击确定 输入框 王晓明 100 100 9 三 消息框消息框用于在对话框中显示消息 等待用户单击按钮 并返回一个整型值 格式 MsgBox Prompt buttons title helpfile context 参数说明 prompt 提示字符串title 显示对话框中标题栏的字符串表达式buttons 显示按钮的数目及形式 图标的样式等helpfile 为对话框提供上下文的帮助context 为某个主题的帮助上下文编号例 MsgBox 请输入学生姓名 vbInformation 学生信息 10 根据用户所选按钮 函数返回1到7的整数值 其含义如下 Buttons选项取值说明 11 窗体上有两个命令按钮 显示 cmdDisplay 测试 cmdTest 事件过程的功能是 单击 测试 按钮 弹出消息框 如果单击消息框的 确定 按钮 隐藏窗体上的 显示 按钮 如果单击消息框的 取消 按钮 关闭窗体 PrivateSubcmdTest Click Answer 隐藏按钮 vbOKCancel IfAnswer vbOKthencmdDisplay Visible ElseDoCmd CloseEndSub 2006 4 MsgBox False 12 4 VBA编程数据验证使用窗体和数据访问页 每当保持记录数据时 所做的更改会保持到数据源表当中 在控件中的数据被改变之前或记录数据被更新之前会发生BeforeUpdate事件 通过创建窗体或控件的BeforeUpdate事件过程 可以实现对输入到窗体控件中的数据进行各种验证 例如 数据类型验证 数据范围验证等 注意 控件BeforeUpdate事件过程是有参过程 通过设置其参数Cancel 可以确定BeforeUpdate事件是否会发生 将Cancel参数设置为True将取消BeforeUpdate事件 此外 在进行控件输入数据验证时 VBA提供了一些相关函数来帮助验证 13 常用验证函数 14 5 计时事件在VBA中通过设置窗体的 计数器间隔TimerInterval 属性与添加 计时器触发 Timer 事件来完成定时功能 其处理过程是 Timer事件每隔TimerInterval时间间隔就会被激发一次 并运行Timer事件过程来响应 15 9 2VBA的数据库编程VBA通过数据库引擎 Microsofjet 工具完成对数据库的访问 所谓数据库引擎其实是一组动态链接库 DLL 程序运行时被连接到VBA程序 而实现对数据库的访问功能 1 VBA中提供了3种数据库访问接口 ODBCAPI 开放数据库互连应用编程接口 DAO 数据访问对象 ADO Active数据对象2 VBA访问的三种数据库类型 本地数据库 ACCESS外部数据库ODBC数据库 如Oracle SyBase SQLServer等 16 3 数据库访问对象 DAO DAO数据模型采用的是层次结构 DBEngine数据库引擎为DAO模型最上层对象 包含并管理其它对象 17 4 ADO对象ADO数据对象模型 指定数据连接提供者 建立到数据源的连接 可执行一个命令 如可执行SQL查询 一般用于表结构的修改 可执行SQL查询返回一个记录集 并可对记录集进行修改 插入 删除操作 是ADO中最灵活的对象 18 例 分别用DAO和ADO来完成对 教学管理 mdb 文件中 学生表 的学生年龄都加1的操作 假设文件存放在E盘 考试中心教程 文件夹中 使用DAO技术 SubSetAgePlus1 dimwsasDAO Workspace 工作区对象dimdbasDAO Database 数据库对象dimrsasDAO Recordset 记录集对象dimfdasDAO Field 字段对象setws DBEngine Workspace 0 setdb ws OpenDatabase e 考试中心教程 教学管理 mdb 打开数据库setrs db OpenRecordSet 学生表 返回 学生表 记录集setfd rs Fields 年龄 设置 年龄 字段 19 Dowhilenotrs eof 对记录集用循环结构进行遍历rs edit 设置为 编辑 状态fd fd 1 年龄字段值加1rs update 更新记录 保存年龄值rs movenext 记录指针移动至下一条Looprs close 关闭并回收对象变量db closesetrs Nothing 关闭并回收对象变量setdb NothingEndsub 20 使用ADO技术 SubSetAgePlus1 dimcnasNewADODB Connection 连接对象dimrsasNewADODB RecordSet 记录集对象dimfsasADODB Field 字段对象dimstrConnectasString 连接字符串dimstrSQLasString 查询字符串strconnect e 考试题目 教学管理 mdb 设置连接数据库cn Provider Microsoft jet oledb 4 0 设置数据提供者cn openstrconnect 打开与数据源的连接strSQL select年龄from学生表 设置查询语句rs openstrSQL cn adOpenDynamic adLockOptimistic adCmdTextsetfd rs Fields 年龄 21 对记录集用循环结构进行遍历Dowhilenotrs eoffd fd 1 年龄字段值加1rs update 更新记录 保存年龄值rs movenext 记录指针移动至下一条Loop 关闭并回收对象变量rs closedb closesetrs Nothingsetdb NothingEndsub 22 ADO数据对象模型的相关要点 1 Recordset记录集对象记录指针的移动方法 MoveFirst记录指针移到第一条记录MoveNext记录指针移到当前记录的下一条记录 MovePrevious记录指针移到当前记录的上一条记录MoveLast记录指针移到最后一条记录 2 Recordset记录集的BOF和EOF属性用于判断记录指针是否处于有记录的正常位置记录指针将指向最后一条记录之后 EOF属性为True 记录指针将指向第一条记录之前 BOF属性为True BOF和EOF属性的值均为True 表示记录集为空 23 5 几个特殊函数 1 Nz函数 将Null值转换为0 空字符串 及指定值格式 Nz 表达式或字段属性值

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论