出版时间:2012-8 出版社:人民邮电出版社 作者:巴尔特 页数:833
Tag标签:无
内容概要
《Access 2007开发指南(修订版)》讲解了在Access 2007中文版中开发应用程序的重要技能。主要内容分为6个部分。第1章至第15章为第一部分,讲解Access开发的基础知识,包括表、关系、查询、窗体和报表的基本知识;宏的使用;VBA语言的编码;查询、窗体和报表的高级应用;高级VBA技术;类模块;ActiveX数据对象。第16章至第18章为第二部分,讲述如何解决开发过程中遇到的问题,如怎样用调试器检查代码问题,怎样实现应用程序中的错误处理,以及应用程序的优化方法。第19章至第22章为第三部分,讲述怎样为多用户环境或客户机/服务器环境开发应用程序。第23章至第28章为第四部分,介绍了功能区、自动化功能、Windows API、库和加载项技术,并且简单介绍了Access与Internet集成应用。《Access 2007开发指南(修订版)》的第五部分讲解了进一步改进应用程序的方法,内容涉及安全性、文档管理以及数据库的维护。
《Access 2007开发指南(修订版)》适用于中高级Access用户,内容丰富全面,实用性强,并附有大量实例辅助用户学习。
作者简介
Alison Balter是Microsoft Access和SQL Server方面的权威作者,曾编写过多部畅销书。她是经验丰富的Access、SharePoint、.NET和SQL Server开发人员,并作为培训教师致力于教授他人如何开发Windows和Web应用程序。她在计算机行业有二十多年的工作经验,为许多公司和政府机构提供过培训和咨询服务。
书籍目录
目 录
第一部分 Access开发基础
第1章 Access作为开发工具 3
1.1 本章的重要性 4
1.2 Access中可开发的应用程序类型 4
1.2.1 Access作为个人应用程序开发平台 4
1.2.2 Access作为中小型企业应用程序开发平台 4
1.2.3 Access作为部门管理应用程序开发平台 5
1.2.4 Access作为公司管理应用程序开发平台 5
1.2.5 Access作为企业级客户/服务器应用程序的前端 5
1.2.6 Access作为Intranet/Internet应用程序开发平台 6
1.3 具有缩放能力的Access 6
1.4 什么是数据库 7
1.5 什么是数据库对象 7
1.5.1 表:数据的仓库 7
1.5.2 查询:存储应用到数据的问题和操作 10
1.5.3 窗体:显示、修改和添加数据的手段 11
1.5.4 报表:将数据整理成信息 12
1.5.5 宏:使系统自动化的一种方式 12
1.5.6 模块:应用程序开发过程的基础 13
1.6 对象命名约定 14
1.7 硬件要求 14
1.8 Access应用程序的开发过程 15
1.8.1 任务分析 15
1.8.2 数据分析和设计 15
1.8.3 原型开发 17
1.8.4 测试 17
1.8.5 程序的实现 17
1.8.6 维护 17
1.9 Access 2007的新功能 18
1.9.1 用户界面的新功能 18
1.9.2 认识功能区 19
1.9.3 认识导航窗格 26
1.9.4 操作选项卡式的文档 28
1.9.5 探索新的状态栏 30
1.9.6 操作浮动工具栏 31
1.9.7 窗体的新功能 32
1.9.8 报表的新功能 33
1.9.9 透视表和透视图 33
1.10 Access 2007中的其他新功能 33
1.10.1 复制怎么了 33
1.10.2 ADP文件怎么了 36
1.11 额外的提示和技巧 36
1.11.1 高级导航窗格技巧 36
1.11.2 创建多值字段 42
1.12 实例:应用程序设计实例——一个计算机咨询公司 47
1.13 小结 48
第2章 数据库和表必备知识 49
2.1 本章的重要性 50
2.2 创建新数据库 50
2.2.1 使用模板创建数据库 50
2.2.2 从头创建数据库 52
2.3 创建新表 52
2.4 为数据选择适当的字段类型 54
2.4.1 文本字段:最常用的字段类型 55
2.4.2 备注字段:处理较长的注释和说明 55
2.4.3 数字字段:计算 55
2.4.4 日期/时间字段:跟踪事件的发生 56
2.4.5 货币字段:存储钱数 56
2.4.6 自动编号字段:唯一的记录标识符 56
2.4.7 是/否字段:从两个答案中选择一个正确答案 56
2.4.8 OLE对象字段:具有强大的存储功能 57
2.4.9 附件字段:在单个字段中存储多个文件 57
2.4.10 超链接字段:实现与Internet的链接 57
2.5 字段属性操作 58
2.5.1 字段大小:限制对字段的输入 58
2.5.2 格式:决定数据的显示方式 59
2.5.3 输入掩码:决定何种数据能进入字段 59
2.5.4 标题:节省时间 60
2.5.5 默认值:节省数据输入时间 60
2.5.6 有效性规则:控制字段的输入 61
2.5.7 有效性文本:为用户提供错误消息 62
2.5.8 必填字段属性:强制用户输入字段值 63
2.5.9 允许空字符串:适应无数据的情况 63
2.5.10 索引:加速搜索 64
2.5.11 Unicode压缩:压缩数据 64
2.6 至关重要的主键 65
2.7 操作查阅向导 65
2.8 表的属性操作 67
2.9 使用索引提高性能 68
2.10 使用Access表和Internet 68
2.10.1 超链接字段类型 69
2.10.2 将表的数据保存为HTML文件 69
2.10.3 将表的数据保存为XML文件 71
2.11 查看对象相关性 72
2.12 检查数据库规格和限度 73
2.13 检查表特殊性和局限性 73
2.14 实例:设计计算机咨询公司的Time and Billing应用程序所要求的表 74
2.15 小结 76
第3章 关系:数据完整性的关键 77
3.1 本章的重要性 78
3.2 关系数据库设计概述 78
3.2.1 关系数据库设计的历史 78
3.2.2 关系数据库设计的目标 78
3.2.3 关系数据库设计的规则 78
3.2.4 规范化与范式 79
3.2.5 反规范化——有目的地违反规则 81
3.2.6 完整性规则 81
3.2.7 数据库特有的规则 82
3.2.8 检查关系的类型 82
3.3 建立关系 83
3.3.1 在两个表之间建立关系 83
3.3.2 建立关系的原则 84
3.3.3 修改现有的关系 85
3.4 建立参照完整性 85
3.4.1 级联更新相关字段 87
3.4.2 级联删除相关记录 87
3.5 关系的作用 88
3.6 检查索引和关系 89
3.7 实例:在Time and Billing数据库中建立表与表之间的关系 89
3.8 小结 90
第4章 查询必备知识 91
4.1 本章的重要性 92
4.2 什么是查询及何时使用查询 92
4.3 查询的基础 92
4.3.1 添加表到查询中 93
4.3.2 添加字段到查询中 93
4.3.3 从查询设计网格中删除字段 95
4.3.4 在查询创建后插入字段 95
4.3.5 在查询设计网格中移动字段的位置 96
4.3.6 保存查询及为其命名 96
4.4 排序查询结果 96
4.5 用准则提炼查询 98
4.6 准则的日期操作 99
4.7 查询结果的更新 100
4.8 基于多个表创建查询 101
4.8.1 多表查询的缺陷 102
4.8.2 多表查询的行修复 103
4.9 创建计算字段 105
4.10 从表达式生成器获取帮助 106
4.11 以总计查询汇总数据 107
4.12 在输出中屏蔽字段 110
4.13 NULL值和查询结果 110
4.14 使用字段、字段列表和查询的属性提炼查询 112
4.14.1 字段属性:改变字段的特性 112
4.14.2 字段列表属性:改变字段列表的属性 113
4.14.3 查询属性:改变整个查询的行为 113
4.15 建立设计阶段不知道准则时可用的参数查询 114
4.16 给查询添加智能标记 115
4.16.1 给查询添加一个智能标记 116
4.16.2 使用智能标记 117
4.17 从查询中创建数据透视表或数据透视图 118
4.17.1 创建显示在数据透视图或数据透视表视图中的查询 118
4.17.2 在数据透视表视图中显示查询 118
4.17.3 显示汇总的数据 119
4.17.4 筛选数据透视表数据 120
4.17.5 使用向下深化 121
4.17.6 交换坐标轴 121
4.17.7 切换到数据透视图视图 121
4.18 理解查询的规格和限度 122
4.19 实例:建立计算机咨询公司使用的Time and Billing应用程序需要的查询 122
4.20 小结 124
第5章 窗体必备知识 125
5.1 本章的重要性 126
5.2 窗体的应用 126
5.3 窗体剖析 127
5.4 创建新窗体 128
5.4.1 使用窗体向导创建窗体 128
5.4.2 从设计视图中创建窗体 130
5.5 窗体设计窗口的操作 130
5.5.1 理解和操作窗体设计工具 131
5.5.2 为窗体添加字段 132
5.5.3 窗体对象的选定、移动、对齐和调整大小 132
5.5.4 修改对象的Tab键次序 135
5.6 使用布局视图 136
5.6.1 使用堆积布局和表格布局 137
5.6.2 认识分割窗体 142
5.6.3 给窗体使用交替背景色 143
5.7 选择适当的控件 144
5.7.1 标签 144
5.7.2 文本框 144
5.7.3 组合框 145
5.7.4 列表框 147
5.7.5 复选框 147
5.7.6 选项和切换按钮 148
5.7.7 选项组 148
5.8 控件转换 149
5.8.1 文本框转换为组合框 150
5.8.2 组合框转换为列表框 150
5.9 条件格式 150
5.10 可用的窗体属性 151
5.10.1 属性表的操作 151
5.10.2 窗体属性的操作 151
5.11 控件属性及其使用 155
5.11.1 控件的格式属性 155
5.11.2 控件的数据属性 157
5.11.3 控件的其他属性 158
5.12 绑定控件、非绑定控件和计算控件 159
5.13 使用表达式强化窗体 159
5.14 命令按钮向导:无须输入的编程 160
5.15 创建基于多个表的窗体 161
5.15.1 创建一对多窗体 161
5.15.2 对子窗体的操作 163
5.16 基于查询的窗体:原因及方式 163
5.17 Access窗体和Internet 164
5.17.1 在窗体中添加超链接 164
5.17.2 窗体保存为HTML文件 165
5.17.3 将窗体保存为XML文件 166
5.18 给窗体添加智能标记 166
5.18.1 给窗体添加一个智能标记 166
5.18.2 使用智能标记 167
5.19 从窗体中创建数据透视表或数据透视图 168
5.19.1 创建可以在数据透视表或数据透视图中显示的窗体 168
5.19.2 在数据透视表视图中显示窗体 169
5.19.3 显示汇总数据 170
5.19.4 筛选数据透视表数据 171
5.19.5 使用向下深化 171
5.19.6 交换坐标轴 172
5.19.7 切换到数据透视图视图 172
5.20 检查窗体的规格和限度 172
5.21 实例:为应用程序设计窗体 172
5.21.1 设计客户窗体 173
5.21.2 设计工程窗体 174
5.21.3 添加链接客户和工程窗体的命令按钮 175
5.22 小结 176
第6章 报表的必要知识 177
6.1 本章的重要性 178
6.2 报表的类型 178
6.2.1 明细报表 178
6.2.2 汇总报表 178
6.2.3 交叉列表报表 179
6.2.4 具有图形和图表的报表 179
6.2.5 具有窗体的报表 180
6.2.6 具有标签的报表 180
6.3 报表剖析 181
6.4 创建新的报表 182
6.4.1 使用报表向导创建报表 182
6.4.2 从设计视图中创建报表 183
6.5 报表设计窗口的操作 184
6.5.1 理解报表设计工具 184
6.5.2 为报表添加字段 184
6.5.3 报表对象的选定、移动、对齐和调整大小 185
6.6 选择适当的控件 186
6.6.1 标签 186
6.6.2 文本框 187
6.6.3 直线 187
6.6.4 矩形 187
6.6.5 绑定对象框 187
6.6.6 非绑定对象框 187
6.6.7 图像控件 188
6.6.8 其他控件 189
6.7 报表属性及其使用 189
6.7.1 属性表的操作 189
6.7.2 报表的格式属性 189
6.7.3 报表的数据属性 190
6.7.4 报表的其他属性 191
6.8 控件属性及其使用 192
6.8.1 控件的格式属性 192
6.8.2 控件的数据属性 193
6.8.3 其他控件属性 193
6.9 插入分页符 194
6.10 非绑定控件、绑定控件和计算控件 194
6.11 使用表达式加强报表 194
6.12 创建基于多个表的报表 194
6.12.1 创建一对多报表 195
6.12.2 子报表的操作 199
6.13 排序和分组操作 199
6.13.1 添加排序和分组 199
6.13.2 组页眉和组页脚的属性及使用 201
6.14 改善基于存储查询或嵌入式SQL语句的报表的性能和可重用性 201
6.15 Access报表和Internet 202
6.15.1 对报表添加超链接 202
6.15.2 报表保存为HTML文件 203
6.15.3 报表保存为XML文件 203
6.16 报表的规格和限度 203
6.17 实例:给应用程序创建必要的报表 203
6.17.1 设计rptClientListing报表 203
6.17.2 设计rptTimeSheet报表 206
6.18 小结 208
第7章 宏及其用法 209
7.1 本章的重要性 210
7.2 创建和运行宏的基础知识 210
7.2.1 宏的操作 210
7.2.2 操作参数 211
7.2.3 宏名称 213
7.2.4 宏的条件 214
7.3 运行一个Access宏 215
7.3.1 从宏设计窗口运行一个宏 215
7.3.2 从导航窗格的宏组中运行一个宏 216
7.3.3 从窗体或报表事件中触发宏 216
7.4 修改现有宏 217
7.4.1 插入新的宏操作 218
7.4.2 删除宏操作 218
7.4.3 移动宏操作 219
7.4.4 复制宏操作 219
7.4.5 创建一个嵌入式宏 219
7.4.6 宏的新增功能 221
7.5 文件编制宏:给宏添加注释 222
7.6 调试宏 223
7.7 何时使用宏以及何时不使用宏 223
7.8 将宏转换为VBA代码 224
7.9 创建AutoExec宏 225
7.10 使用DoCmd对象 225
7.11 实例:给Time和Billing应用程序添加一个AutoExec宏 226
7.12 小结 226
第8章 VBA基础 227
8.1 本章的重要性 228
8.2 VBA解释 228
8.3 Access的类模块、标准模块、窗体模块和报表模块 229
8.3.1 VBA代码的编写位置 229
8.3.2 模块概述 230
8.3.3 Option Explicit语句 231
8.3.4 创建事件过程 232
8.3.5 创建函数和子程序 232
8.3.6 调用事件和用户定义例程 233
8.3.7 过程的适用范围和生存期 234
8.4 变量的操作 236
8.4.1 声明变量 236
8.4.2 VBA数据类型 236
8.4.3 变量的适用范围和生存期:合理地开发变量 237
8.5 为代码添加注释 239
8.6 使用续行符 239
8.7 使用VBA控制结构 240
8.7.1 If...Then...Else 240
8.7.2 Immediate If(IIf)语句 241
8.7.3 条件If:条件编译 241
8.7.4 Select Case语句 242
8.7.5 循环 243
8.7.6 For...Next循环 244
8.7.7 With...End With语句 245
8.7.8 For Each…Next语句 245
8.8 传递参数和返回值 246
8.9 在模块窗口中执行过程 247
8.10 DoCmd对象:执行宏操作 247
8.11 内置函数的操作 247
8.11.1 内置函数 248
8.11.2 使用对象浏览器简化函数的编写 250
8.12 常数的操作 251
8.12.1 符号常数的操作 252
8.12.2 内部常数的操作 252
8.13 操作VBE工具 253
8.13.1 属性/方法列表 253
8.13.2 常数列表功能 254
8.13.3 快速信息 254
8.13.4 参数信息 255
8.13.5 自动完成关键字 255
8.13.6 定义 255
8.13.7 熟悉编码环境 256
8.13.8 “工程”窗口 257
8.13.9 “属性”窗口 257
8.13.10 “视图Microsoft Access”工具 258
8.13.11 查找和替换 258
8.13.12 帮助 258
8.13.13 “代码”窗口的拆分 259
8.13.14 使用书签保存位置信息 260
8.14 自定义VBE 260
8.14.1 代码选项:“编辑器”选项卡 260
8.14.2 代码的颜色、字体和字体大小——“编辑器格式”选项卡 261
8.14.3 通用选项:“通用”选项卡 261
8.14.4 可连接选项:“可连接的”选项卡 261
8.15 实例:使用事件例程、用户定义函数和子程序 262
8.16 小结 264
第9章 对象、属性、事件和方法 265
9.1 本章的重要性 266
9.2 理解对象、属性、事件和方法 266
9.2.1 什么是对象 266
9.2.2 什么是属性 266
9.2.3 什么是事件 267
9.2.4 什么是方法 268
9.3 使用对象浏览器熟悉Access的对象 268
9.3.1 对象浏览器的使用方式 268
9.3.2 代码模板粘贴到过程中 269
9.4 对象的引用 270
9.5 操作属性和方法 270
9.5.1 判断属性和方法 270
9.5.2 使用感叹号与圆点号 271
9.5.3 默认属性 271
9.6 对象变量的声明和赋值 272
9.6.1 对象变量和普通变量 272
9.6.2 通用对象变量和特殊对象变量 273
9.6.3 对象变量的清除 273
9.7 对象与集合的区别 273
9.7.1 操作单个对象 273
9.7.2 操作对象集合 274
9.8 对象传递给子程序和函数 274
9.9 确定控件的类型 275
9.10 引用对象的特殊属性 276
9.11 理解Access的对象模型 277
9.11.1 Application对象 277
9.11.2 Forms集合 278
9.11.3 Reports集合 279
9.11.4 Modules集合 279
9.11.5 CurrentProject对象 279
9.11.6 CurrentData对象 281
9.11.7 CodeProject对象 282
9.11.8 CodeData对象 282
9.11.9 Screen对象 282
9.11.10 DoCmd对象 282
9.12 利用其他的有用属性 282
9.13 实例:对象的操作 283
9.14 小结 286
第10章 高级窗体技术 287
10.1 本章的重要性 288
10.2 窗体事件及应用 288
10.2.1 Current事件 288
10.2.2 BeforeInsert事件 288
10.2.3 AfterInsert事件 289
10.2.4 BeforeUpdate事件 289
10.2.5 AfterUpdate事件 289
10.2.6 Dirty事件 290
10.2.7 Undo事件 290
10.2.8 Delete事件 290
10.2.9 BeforeDelConfirm事件 291
10.2.10 AfterDelConfirm事件 291
10.2.11 Open事件 291
10.2.12 Load事件 291
10.2.13 Resize事件 292
10.2.14 Unload事件 292
10.2.15 Close事件 292
10.2.16 Activate事件 293
10.2.17 Deactivate事件 293
10.2.18 Gotfocus事件 293
10.2.19 LostFocus事件 293
10.2.20 Click事件 293
10.2.21 DblClick事件 293
10.2.22 MouseDown事件 293
10.2.23 MouseMove事件 294
10.2.24 MouseUp事件 294
10.2.25 KeyDown事件 294
10.2.26 KeyUp事件 294
10.2.27 KeyPress事件 294
10.2.28 Error事件 294
10.2.29 Filter事件 295
10.2.30 ApplyFilter事件 295
10.2.31 Timer事件 295
10.2.32 窗体事件的顺序 295
10.3 节和控件事件及应用 296
10.3.1 BeforeUpdate事件 297
10.3.2 AfterUpdate事件 297
10.3.3 Updated事件 297
10.3.4 Change事件 297
10.3.5 NotInList事件 297
10.3.6 Enter事件 298
10.3.7 Exit事件 299
10.3.8 GotFocus事件 299
10.3.9 LostFocus事件 299
10.3.10 Click事件 299
10.3.11 DblClick事件 300
10.3.12 MouseDown事件 301
10.3.13 MouseMove事件 301
10.3.14 MouseUp事件 301
10.3.15 KeyDown事件 301
10.3.16 KeyUp事件 301
10.3.17 KeyPress事件 301
10.3.18 控件事件的顺序 301
10.4 引用“Me” 302
10.5 可创建的窗体类型及应用 302
10.5.1 单个窗体:一次只看一个记录 302
10.5.2 连续窗体:一次查看多个记录 303
10.5.3 多页窗体:一屏无法显示所有项目的窗体 304
10.5.4 选项卡窗体:充分利用屏幕空间 305
10.5.5 切换面板窗体:控制应用程序 306
10.5.6 初始屏幕窗体:通向应用程序的专业途径 307
10.5.7 对话框窗体:收集信息 307
10.6 使用内置对话框 308
10.6.1 消息框 308
10.6.2 输入框 310
10.6.3 FileDialog对象 310
10.7 利用内置窗体筛选功能 311
10.8 包含其他应用程序的对象:链接与嵌入 312
10.8.1 绑定OLE对象 312
10.8.2 未绑定OLE对象 313
10.9 使用OpenArgs属性 313
10.10 转换窗体记录来源 314
10.11 增强组合框和列表框技术 316
10.11.1 处理NotInList事件 316
10.11.2 操作弹出式窗体 317
10.11.3 运行时给组合框或列表框添加项目内容 318
10.11.4 处理列表框中的多项选择 318
10.12 强大的子窗体技术 319
10.13 使用Automatic错误检查 319
10.14 查看对象相关性 321
10.15 使用自动更正选项 321
10.16 传播字段属性 322
10.17 窗体与原始记录集的同步 323
10.18 创建自定义属性和方法 324
10.18.1 创建自定义属性 324
10.18.2 建立自定义方法 327
10.19 实例:在应用程序中使用高级技术 327
10.19.1 启动窗体的用途 328
10.19.2 建立初始屏幕 328
10.20 小结 328
第11章 高级报表技术 329
11.1 本章的重要性 330
11.2 报表事件及其应用 330
11.2.1 Open事件 330
11.2.2 Close事件 330
11.2.3 NoData事件 331
11.2.4 Page事件 331
11.2.5 Error事件 331
11.3 报表事件的顺序 332
11.4 报表节事件及其应用 332
11.4.1 Format事件 332
11.4.2 Print事件 334
11.4.3 Retreat事件 335
11.4.4 节事件的顺序 335
11.5 编程操作报表的节 335
11.6 报表的特殊属性 336
11.6.1 MoveLayout 336
11.6.2 NextRecord 336
11.6.3 PrintSection 336
11.6.4 MoveLayout、NextRecord和PrintSection的相互作用 336
11.6.5 FormatCount 337
11.6.6 PrintCount 337
11.6.7 HasContinued 337
11.6.8 WillContinue 337
11.7 控制打印机 337
11.7.1 Printer对象 337
11.7.2 Printers集合 338
11.8 使用自动错误检查 338
11.9 传播字段属性 340
11.10 报表事件和属性的实际应用 341
11.10.1 改变报表的记录来源 341
11.10.2 操作报表筛选器 344
11.10.3 操作报表排序顺序 345
11.10.4 用同一个报表显示汇总数据、明细数据或两者都显示 346
11.10.5 给报表项目编号 347
11.10.6 打印多份标签 348
11.10.7 确定标签打印位置 349
11.10.8 从交叉表查询建立报表 351
11.10.9 在页面页眉上打印第一项和最后一项 356
11.10.10 建立多细节交叉表报表 357
11.11 实例:练习所学知识 359
11.12 小结 360
第12章 高级查询技术 361
12.1 本章的重要性 362
12.2 操作查询 362
12.2.1 更新查询 362
12.2.2 删除查询 363
12.2.3 追加查询 364
12.2.4 生成表查询 365
12.2.5 操作查询与使用代码处理记录的对比 366
12.3 查询的特殊属性 367
12.3.1 唯一值 368
12.3.2 唯一的记录 368
12.3.3 上限值 368
12.4 优化查询 369
12.4.1 了解查询编译过程 370
12.4.2 分析查询性能 370
12.4.3 提高查询性能的方法 370
12.4.4 Rushmore技术 371
12.5 交叉表查询 372
12.5.1 使用“交叉表查询向导”建立交叉表查询 372
12.5.2 不使用“交叉表查询向导”创建交叉表查询 374
12.5.3 创建固定的列标题 375
12.5.4 交叉表查询的重要注意事项 376
12.6 外部连接 376
12.7 自连接 377
12.8 了解SQL 378
12.8.1 什么是SQL,它从何而来 378
12.8.2 需要了解的SQL内容 378
12.8.3 SQL语法 379
12.8.4 SELECT语句 379
12.8.5 应用知识 383
12.9 联合查询 384
12.9.1 ALL关键字 384
12.9.2 查询结果排序 384
12.9.3 使用图形QBE创建联合查询 385
12.9.4 联合查询的重要注意事项 385
12.10 传递查询 386
12.11 Nulls的传播和查询结果 386
12.12 子查询 388
12.13 使用SQL更新数据 388
12.13.1 UPDATE语句 388
12.13.2 DELECT语句 389
12.13.3 INSERT INTO语句 389
12.13.4 SELECT INTO语句 389
12.14 使用SQL定义数据 390
12.14.1 CREATE TABLE语句 390
12.14.2 CREATE INDEX语句 390
12.14.3 ALTER TABLE语句 391
12.14.4 DROP INDEX语句 391
12.14.5 DROP TABLE语句 391
12.15 函数的结果作为查询的准则 391
12.16 从窗体中传递参数查询值 393
12.17 理解Jet4.0 ANSI-92扩展 394
12.17.1 表扩展 394
12.17.2 视图和存储过的程序扩展 396
12.17.3 转换扩展 397
12.18 实例:在应用程序中应用技术 397
12.18.1 存档付款 398
12.18.2 显示所有付款 399
12.18.3 创建State表 399
12.19 小结 399
第13章 高级VBA技术 401
13.1 本章的重要性 402
13.2 用户定义类型的定义及使用原因 402
13.2.1 声明用户定义类型 402
13.2.2 创建Type变量 402
13.2.3 将窗体中的记录信息存储在Type变量中 403
13.2.4 检索Type变量元素中的信息 403
13.3 使用常量 404
13.3.1 定义自己的常量 404
13.3.2 内部变量的使用 405
13.4 使用数组 406
13.4.1 声明和使用固定的数组 406
13.4.2 声明和使用动态数组 407
13.4.3 将数组作为参数传递 409
13.5 高级函数技术 409
13.5.1 引用传递和值传递 409
13.5.2 可选参数:灵活性内置在函数中 411
13.5.3 命名参数:消除计算逗号的需要 413
13.5.4 递归程序 413
13.6 使用Empty和Null 414
13.6.1 Empty的使用 415
13.6.2 Null的使用 415
13.7 创建和使用自定义集合 419
13.7.1 创建集合 419
13.7.2 将条目添加到自定义集合中 420
13.7.3 访问自定义集合中的条目 420
13.7.4 删除集合中的条目 420
13.7.5 遍历自定义集合元素 421
13.8 处理具有底层文件处理的文件 421
13.9 理解和有效使用编译选项 422
13.10 导入和导出代码模块 422
13.11 工程属性的使用 423
13.12 实例:使用这些高级技术 424
13.12.1 Null、DoCmd对象和内部常量实例 424
13.12.2 使用类型结构的例子 425
13.13 小结 426
第14章 利用类模块的功能 427
14.1 本章的重要性 428
14.2 面向对象介绍 428
14.3 创建和使用类模块 428
14.3.1 添加属性 429
14.3.2 添加方法 429
14.3.3 实例化和使用类 429
14.3.4 Property Let和Property Get:正确添加属性 430
14.4 使用Property Set设置值 431
14.5 创建多个类实例 431
14.6 添加代码到Initialize事件和Terminate事件 432
14.6.1 Initialize事件 432
14.6.2 Terminate事件 432
14.7 操作枚举类型 432
14.8 建立类的分级结构 434
14.9 给类添加Parent属性 434
14.10 使用Implements关键字 435
14.11 使用自定义集合 435
14.11.1 创建自定义集合 436
14.11.2 向集合中添加数据项 436
14.11.3 对自定义集合中的元素循环 436
14.11.4 引用集合中的数据项 437
14.11.5 从集合中删除数据项 437
14.12 添加用户自己的事件 437
14.13 实例:使用类模块 438
14.13.1 文件信息类 438
14.13.2 数据访问类 441
14.13.3 系统信息类 448
14.14 小结 450
第15章 ADO及其重要性 451
15.1 本章的重要性 452
15.2 ADO模型 452
15.2.1 Connection对象 452
15.2.2 Recordset对象 455
15.2.3 Command对象 456
15.3 ADO记录集类型 457
15.3.1 CursorType参数 457
15.3.2 LockType参数 459
15.3.3 Options参数 460
15.3.4 一致更新与非一致更新 461
15.3.5 选择游标位置 462
15.3.6 操作Supports方法 462
15.4 使用ADO记录集属性及方法 463
15.4.1 移动记录的方法 463
15.4.2 检测记录集的边界 464
15.4.3 统计记录集中的记录数目 465
15.4.4 排序、筛选和查找记录 467
15.4.5 AbsolutePosition属性 470
15.4.6 Bookmark 属性 471
15.4.7 运行参数查询 472
15.4.8 刷新记录集数据 473
15.4.9 操作持久化的记录集 473
15.5 使用ADO代码修改表数据 474
15.5.1 一次改变一个记录数据 474
15.5.2 执行批量更新 476
15.5.3 批量更改 477
15.5.4 删除现有的记录 480
15.5.5 添加新记录 481
15.6 使用ADO代码创建和修改数据库对象 482
15.6.1 使用代码添加表 482
15.6.2 使用代码删除表 483
15.6.3 使用代码建立关系 483
15.6.4 使用代码创建查询 484
15.7 实例:将这些技术应用到应用程序中 485
15.8 小结 488
第二部分 解决问题
第16章 调试:开发成功的关键 491
16.1 本章的重要性 492
16.2 避免错误 492
16.2.1 Option Explicit 492
16.2.2 强制类型 492
16.2.3 命名规范 492
16.2.4 变量的作用范围 492
16.2.5 错误发生 493
16.3 立即窗口的应用 493
16.3.1 测试变量和属性值 493
16.3.2 设置变量和属性的值 494
16.3.3 清空立即窗口 495
16.3.4 使用内置函数 495
16.3.5 执行子程序、函数和方法 495
16.3.6 在运行时打印到立即窗口 496
16.4 调用调试程序 497
16.5 用断点排除故障 497
16.6 单步运行代码 498
16.6.1 逐语句 499
16.6.2 运行到下一个断点 500
16.6.3 逐过程 500
16.6.4 跳出 501
16.7 设置下一条执行语句 501
16.8 使用“调用堆栈”窗口 502
16.9 使用本地窗口 502
16.10 使用监视表达式 503
16.10.1 使用“自动显示数据提示” 503
16.10.2 使用“快速监视” 503
16.10.3 添加监视表达式 504
16.10.4 编辑监视表达式 505
16.10.5 表达式值为真时中断 505
16.10.6 表达式值改变时中断 506
16.11 出现运行错误后继续运行 506
16.12 在立即窗口查看错误 507
16.13 使用断言 507
16.14 调试提示信息 508
16.15 实例:调试实际的应用程序 508
16.16 小结 508
第17章 错误处理:处理不可避免的错误 509
17.1 本章的重要性 510
17.2 实现错误处理 510
17.3 使用On Error语句 511
17.3.1 On Error GoTo语句 512
17.3.2 On Error Resume Next语句 513
17.4 使用Resume语句 513
17.4.1 Resume语句 514
17.4.2 Resume Next语句 515
17.4.3 Resume 语句 516
17.5 清除错误 516
17.6 检查级联错误影响 517
17.7 使用Err对象 518
17.8 触发错误 518
17.8.1 有目的地产生错误 518
17.8.2 创建用户自定义错误 519
17.9 使用Errors集合 520
17.10 创建通用错误处理程序 520
17.10.1 记录错误 523
17.10.2 对错误采取适当的响应 525
17.10.3 用电子邮件发送错误信息 527
17.10.4 创建错误窗体 528
17.10.5 打印错误窗体 531
17.11 防止调用自己的错误处理 531
17.12 创建调用堆栈 531
17.13 建立自定义错误处理类 534
17.14 操作错误事件 538
17.15 创建错误代码和说明的列表 538
17.16 实例:应用错误处理 539
17.17 小结 540
第18章 优化应用程序 541
18.1 本章的重要性 542
18.2 优化简介 542
18.3 修改硬件和软件的配置 542
18.3.1 硬件升级:多多益善 542
18.3.2 改变Access的软件设置 545
18.4 Access数据库引擎 545
18.5 用性能分析器确定问题范围 545
18.6 设计表以优化性能 546
18.6.1 规范化的原因 546
18.6.2 规范化的缺陷 546
18.6.3 索引 546
18.6.4 选择正确的数据类型 547
18.7 设计数据库对象以优化性能 547
18.7.1 设计查询以优化性能 547
18.7.2 改变编码以改进性能 548
18.7.3 设计窗体和报表以改进性能 560
18.8 实例:改进应用程序的性能 561
18.9 小结 561
第三部分 开发多用户和企业应用程序
第19章 开发Access应用程序的策略 565
19.1 本章的重要性 566
19.2 数据库划分成表和其他对象 566
19.3 基于查询或嵌入式SQL语句的窗体和报表 567
19.4 准备发行应用程序的步骤 568
19.4.1 以窗体为基础组织应用程序 568
19.4.2 为数据库增加启动选项 568
19.4.3 保障应用程序的安全 569
19.4.4 在应用程序中创建错误处理程序 569
19.4.5 增加自定义帮助 569
19.4.6 设立自定义功能区 569
19.5 Access作为前端 570
19.5.1 转换到客户/服务器时的考虑问题 570
19.5.2 客户/服务器技术的优缺点 571
19.5.3 Access作为前端的选项 571
19.5.4 迁移到客户/服务器环境的考虑问题 572
19.6 实例:对计算机咨询机构应用程序应用该策略 572
19.7 小结 572
第20章 使用外部数据 573
20.1 本章的重要性 574
20.2 导入、链接和打开的时机和原因 574
20.2.1 选择选项 574
20.2.2 查看支持的文件格式 575
20.3 导入外部数据 576
20.3.1 使用用户界面 576
20.3.2 使用代码 577
20.4 创建到外部数据的链接 579
20.4.1 使用用户界面 579
20.4.2 使用代码 581
20.5 打开外部表 584
20.5.1 提供连接信息 585
20.5.2 打开表 585
20.6 理解Windows注册表设置 586
20.7 使用Jet OLEDB:Link Provider String 586
20.8 使用密码 587
20.9 更新和删除链接 588
20.9.1 更新已经移动的链接 588
20.9.2 删除链接 590
20.9.3 从链接表中生成本地表 590
20.10 特殊考虑 590
20.10.1 dBase 591
20.10.2 文本数据 591
20.11 故障排除 591
20.11.1 连接问题 592
20.11.2 临时空间 592
20.12 性能考虑与链接 592
20.13 使用HTML文档 592
20.14 实例:在应用程序内使用外部数据 594
20.14.1 用“数据库拆分器”拆分表 594
20.14.2 更新链接 595
20.15 小结 598
第21章 Access 2007与SharePoint 599
21.1 本章的重要性 600
21.1.1 将选定的数据导出到SharePoint网站 600
21.1.2 将整个数据库移动到SharePoint网站 600
21.1.3 从SharePoint网站打开Access窗体和报表 600
21.1.4 由SharePoint列表创建数据库 600
21.1.5 使SharePoint列表与Access脱机 601
21.1.6 总结使用SharePoint的优势 601
21.2 Access 2007(accdb)文件格式与SharePoint 601
21.3 将数据导出到SharePoint网站 601
21.3.1 将数据导出到SharePoint网站的原因 601
21.3.2 将数据导出到SharePoint网站的方法 602
21.4 将数据发布到SharePoint网站 604
21.5 从SharePoint网站打开Access窗体和报表 607
21.6 链接到SharePoint列表与从SharePoint列表导入 610
21.7 使SharePoint列表与Access脱机 612
21.7.1 和SharePoint一起同步修改 612
21.7.2 联机工作 613
21.7.3 放弃更改 613
21.8 在移动SharePoint网站后重建链接 614
21.9 小结 614
第22章 开发多用户应用程序 615
22.1 本章的重要性 616
22.2 开发应用程序的多用户问题考虑 616
22.2.1 多用户设计策略 616
22.2.2 链接外部数据的基础知识 618
22.3 Access的锁定机制 618
22.4 理解客户/服务器模型 619
22.5 确定是否用客户/服务器模型 619
22.5.1 处理大量数据 620
22.5.2 处理大量并发用户 620
22.5.3 需要更快的性能 621
22.5.4 处理增加的网络通信量 621
22.5.5 实现备份和还原 621
22.5.6 安全性重点 621
22.5.7 在多个前端工具之间共享数据 622
22.5.8 理解全部意义 622
22.6 Access在应用程序设计模型中的作用 622
22.6.1 Access ACCDB文件为前端和后端 622
22.6.2 前端用ACCDB文件,用链接同后端通信 623
22.6.3 前端用SQL传递查询同后端通信 624
22.6.4 前端执行存储在后端的程序 624
22.6.5 Access数据工程做前端直接与后端通信 625
22.7 客户/服务器术语 625
22.8 升迁的考虑问题 626
22.8.1 索引 626
22.8.2 自动编号字段 626
22.8.3 默认值 626
22.8.4 有效性验证规则 626
22.8.5 关系 627
22.8.6 安全性 627
22.8.7 表和字段的名称 627
22.8.8 保留字 627
22.8.9 区分大小写 627
22.8.10 属性 627
22.8.11 Visual Basic代码 628
22.9 预先准备升迁 628
22.10 使用事务处理 628
22.10.1 对事务处理优越性的理解 629
22.10.2 修改事务处理的默认状态 629
22.10.3 实现显式的事务处理 630
22.11 实例:准备生成企业环境的应用程序 631
22.12 小结 632
第四部分 高级编程
第23章 操作和自定义功能区 635
23.1 本章的重要性 636
23.2 自定义功能区:概述 636
23.3 显示系统表 636
23.4 启用系统错误显示 637
23.5 创建USysRibbons表 638
23.6 给USysRibbons表添加数据 638
23.7 应用自定义功能区 639
23.7.1 给整个数据库应用自定义功能区 639
23.7.2 给窗体或报表应用自定义功能区 640
23.8 隐藏系统对象 641
23.9 将功能区恢复到默认设置 641
23.10 添加附加组合控件 642
23.11 从功能区上执行宏 643
23.12 实例:巩固一个Access 2007数据库 643
23.13 小结 644
第24章 自动化:与其他应用程序通信 645
24.1 本章的重要性 646
24.2 定义自动化术语 646
24.3 声明对象变量以引用应用程序 646
24.4 创建自动化对象 648
24.5 操作自动化对象 648
24.5.1 设置和查询属性 649
24.5.2 执行方法 649
24.6 使用前期绑定与后期绑定 649
24.7 在Access中控制Excel 650
24.8 关闭Excel自动化对象 653
24.9 在Access中创建图表 654
24.10 在Access中控制Word 657
24.10.1 使用Word生成大量邮寄 657
24.10.2 使用Word克服Access作为报表编辑器的限制 659
24.11 在Access中控制PowerPoint 660
24.12 使用Access使Outlook自动化 662
24.13 在其他应用程序中控制Access 664
24.14 实例:使用自动化扩展应用程序的功能 666
24.15 小结 670
第25章 深入Windows API的功能 671
25.1 本章的重要性 672
25.2 向编译器声明外部函数 672
25.2.1 给DLL函数传递参数 673
25.2.2 为函数取别名 674
25.3 使用常数和类型 675
25.3.1 使用常数 676
25.3.2 使用类型 676
25.4 调用DLL函数:重要的问题 677
25.5 使用API函数 677
25.5.1 操作Windows注册表 677
25.5.2 获得操作环境的信息 679
25.5.3 确定驱动器类型和可用的驱动器空间 686
25.6 实例:在应用程序中使用Windows API函数 688
25.7 小结 688
第26章 创建用户的库 689
26.1 本章的重要性 690
26.2 数据库到库的准备工作 690
26.2.1 构造优化性能的代码模块 690
26.2.2 编写运行的库代码 691
26.2.3 编译库 691
26.3 创建引用 691
26.3.1 创建库引用 691
26.3.2 创建运行阶段的引用 692
26.3.3 创建显式引用 694
26.3.4 使用VBA代码创建引用 696
26.4 调试库数据库 697
26.5 实例:为应用程序建立库 697
26.6 小结 699
第27章 使用生成器和向导 701
27.1 本章的重要性 702
27.2 使用生成器 702
27.2.1 设计原则 702
27.2.2 创建生成器 702
27.3 使用向导 710
27.3.1 设计原则 710
27.3.2 创建向导 710
27.3.3 准备使用向导 714
27.4 使用菜单加载项 714
27.4.1 设计原则 714
27.4.2 创建菜单加载项 715
27.5 实例:设计自己的加载项 715
27.6 小结 720
第28章 Access和Internet/Intranet 721
28.1 本章的重要性 722
28.2 数据库对象保存为HTML文件 722
28.2.1 将表数据保存为HTML文件 722
28.2.2 查询结果保存为HTML文件 724
28.2.3 窗体保存为HTML文件 724
28.2.4 报表保存为HTML文件 724
28.3 链接HTML文件 725
28.4 导入HTML文件 727
28.5 将数据库对象保存为XML文件 728
28.6 导入XML文件 729
28.7 实例 729
28.8 小结 730
第五部分 润饰应用程序
第29章 应用程序文档管理 733
29.1 本章的重要性 734
29.2 准备说明应用程序 734
29.2.1 表的说明 734
29.2.2 查询的说明 735
29.2.3 窗体的说明 736
29.2.4 报表的说明 736
29.2.5 宏的说明 736
29.2.6 模块的说明 737
29.2.7 使用数据库属性说明整个数据库 737
29.3 使用数据库文档管理器 738
29.3.1 使用文档管理器选项 740
29.3.2 产生其他格式的文档 741
29.4 使用对象相关性功能 742
29.5 编写代码创建自己的文档资料 743
29.6 实例:将所学的知识应用于Time and Billing应用程序 743
29.7 小结 744
第30章 维护应用程序 745
30.1 本章的重要性 746
30.2 压缩数据库 746
30.2.1 使用用户界面 747
30.2.2 使用快捷方式 748
30.2.3 当关闭数据库时压缩 748
30.2.4 使用JetEngine对象的CompactDatabase方法 749
30.2.5 使用Application对象的CompactRepair方法 750
30.3 备份数据库 750
30.4 转换Access数据库 751
30.5 删除断开的引用 752
30.6 实例:维护应用程序 752
30.7 小结 752
第31章 容易实现的数据库安全性 753
31.1 本章的重要性 754
31.2 Access 2007安全性的新增功能 754
31.3 用户级安全性 755
31.4 信任数据库 755
31.4.1 为当前会话信任数据库 755
31.4.2 永久信任数据库 756
31.5 使用数据库密码加密Office Access 2007数据库 757
31.6 打包、签名和分发Access数据库 758
31.6.1 创建自签名证书 758
31.6.2 创建自签名包 759
31.6.3 提取和使用签名包 760
31.7 使用信任中心 760
31.7.1 操作消息栏 760
31.7.2 使用个人信息设置 761
31.7.3 操作Access宏和VBA代码 761
31.7.4 操作受信任的位置 762
31.7.5 操作受信任发布者 763
31.8 理解信任和不信任时数据库的行为 765
31.9 使用沙箱模式 765
31.10 删除用户级安全 766
31.11 启用或取消ActiveX控件 766
31.12 启用或取消加载项 767
31.13 添加受信任的发布者 768
31.14 实例:保护Access 2007数据库 768
31.15 小结 768
第六部分 附录
附录A 命名约定 771
附录B 表结构 777
B.1 tblClients表 778
B.2 tblClientAddresses表 784
B.3 The tblAddressTypes 表 788
B.4 tblClientPhones表 789
B.5 tblPhoneTypes 表 791
B.6 tblCorrespondence 表 792
B.7 tblCorrespondenceTypes 表 796
B.8 The tblTerms 表 797
B.9 tblContactType 表 799
B.10 tblCompanyInfo表 800
B.11 tblEmployees表 804
B.12 tblErrorLog表 809
B.13 tblErrors表 812
B.14 tblExpenseCodes表 813
B.15 tblPaymentMethods表 814
B.16 tblPayments表 815
B.17 tblProjects表 819
B.18 tblTimeCardExpenses表 823
B.19 tblTimeCardHours表 827
B.20 tblTimeCards表 831
B.21 tblWorkCodes表 833
章节摘录
版权页: 插图: 每条记录均由所设计的CustomerID字段单独标识,而这个字段又用于将表tblCustomers和表tblOrder联系起来。tblOrders表包含的信息只针对于整个订单,而不针对于客户订购的各个项目。这个表包含了那些具有订单和订单日期的客户的CustomerID,而且它通过OrderID与表tblOrderDetails发生联系。tblOrderDetails表持有针对特定OrderID所订项目的信息。 在这里,可订购项目的数量没有限制。想订购多少项目,就可以订购多少项目,因为这时只须在tblOrderDetails表中多添加一些记录。最后,供应商信息也放在一个唯一的表(tblSuppliers)中,这样,供应商的信息发生改变时,只有一处会变动。 1.8.3 原型开发 与以前使用大型机的时候相比较,虽然应用程序开发的任务分析阶段和数据分析阶段并没有多大改变,但是,原型开发阶段发生了很大的变化。在对大型机进行操作时,用的是基于DOS的语言,那时对各个屏幕和报表开发详细的规范是很重要的。这种情况下,稍作改动,比如说在屏幕上移动一个字段,则意味着一场大的改变,这时往往又得工作几个小时。在用户对屏幕和报表的规范发表看法后,开发人员又得花上几天时问埋头苦干,才能开发出屏幕和报表的规范。而且,当开发人员工作了几个月并把产品交给用户时,用户也许并不完全满意。而这往往意味着开发人员必须回到绘制板前,再花不少时间进行改动,以满足用户对应用程序的要求。 不过,现在这个过程完全不同了。一旦任务描述和数据分析完成之后,开发人员便可以实现对表的设计,并在它们之间建立关系。窗口和报表的原型开发过程便可以随即开始。这时,开发人员不必在与用户交流之前先躲起来开发几周甚至几个月,使用Access向导,只须花上几天时间,便可以快速地开发出窗体的原型。 1.8.4 测试 在没有进行测试以前,用户还不能断定应用程序能做些什么。如果用户的应用程序要在Windows 2000、Windows 2003、Windows XP和Windows Vista的机器上运行,那么应该在所有这些环境下都进行一次测试。测试应用程序应该扩展到最低分辨率的显示器上,因为应用程序可能会在开发人员自己的机器上运行得很好,而在用户的低配置机器上会运行得很慢。 在测试时,既要对应用程序进行部分测试,又要进行集成测试。测试应用程序时,应尽量多组织一些人,并且要确保这些人中有计算机方面的行家,也有对计算机一窍不通的人。这些不同类型的用户可以发现完全不同的问题。千万不要自己独自一人进行测试,因为自己往往找不出自己所开发程序的错误。 1.8.5 程序的实现 到最后,应用程序便可以作为产品发行了,但是,应该先将应用程序发行给少量的用户,并让他们知道这是进行测试。要让他们意识到他们是系统的第一批用户,这自然是一件引以为荣的事,但也要告诉他们问题可能随时发生,而且他们也有责任将遇到的问题反馈回来。如果一开始就大范围地发行应用程序,而结果证明操作不正常,那么将完全失去用户对您的信任。这就是要慢慢发行应用程序的原因。
编辑推荐
《Access 2007开发指南(修订版)》适用于中高级Access用户,内容丰富全面,实用性强,并附有大量实例辅助用户学习。
图书封面
图书标签Tags
无
评论、评分、阅读与下载