第1章 了解Access 1
1.1 Access主要用途及应用领域 1
1.1.1 正确认识Access 1
1.1.2 Access的主要用途 1
1.1.3 应用领域 2
1.2 Access操作界面简介 2
1.2.1 和Access打个照面 2
1.2.2 初识VBE代码编辑器操作界面 5
1.2.3 创建一个简单的应用程序 6
1.3.1 快速获得帮助 7
1.3 如何获取帮助 7
1.3.2 更好地使用帮助 8
1.4 使用官方资源及第三方开发资源 10
1.4.1 微软知识库(MicrosoftKnowledgeBase) 10
1.4.2 微软新闻组 11
1.4.3 MSDN 12
1.4.4 第三方专业Access论坛、BBS、网站 12
1.5 小结 12
思考题 13
实践练习 13
2.1.1 熟悉Access基本操作 14
第2章 如何成为优秀的Access开发人员 14
2.1 循序渐进、积累经验 14
2.1.2 使用Access开发个人应用程序 15
2.1.3 使用Access开发小型商务应用程序 15
2.1.4 使用Access开发大型企业应用程序 15
2.1.5 使用Access开发实用工具软件及编程辅助加载项 16
2.2 优秀的标准和思想造就卓越的程序员 16
2.2.1 遵循标准的对象命名规则 16
2.2.2 养成良好的代码注释习惯 17
2.2.3 铸就统一而有个性的程序风格 20
2.2.4 提供完善而又标准的开发文档 21
2.2.5 用程序和代码来演绎管理思想和业务逻辑 22
2.3 规范化的步骤确保程序的质量和用户满意度 22
2.3.1 系统调研与需求分析 23
2.3.2 确定项目功能与项目开发计划 23
2.3.3 数据库详细设计 23
2.3.4 设计界面与编写代码 24
2.3.5 软件测试、分析、反馈与改进 24
2.3.6 编写帮助文件与操作手册 24
2.4 小结 25
2.3.7 项目验收与开发小结 25
2.3.8 程序后期维护与二次开发 25
思考题 26
实践练习 26
第3章 表的设计 27
3.1 什么是表 27
3.2 设计和创建表的5种方法 28
3.3 输入表字段名称和数据类型 30
3.4 设置字段的属性 31
3.4.1 字段格式与输入掩码 32
3.4.2 字段的有效性规则 33
3.4.3 字段的索引与主键 34
3.4.4 字段的其他属性设置 35
3.5 设置主键 36
3.6 表的属性操作 37
3.7 表设计的重要性及设计思想 38
3.8 小结 39
思考题 40
实践练习 40
4.1.1 一对一关系 41
4.1 关系的作用及关系的类型 41
第4章 善用数据库的表关系 41
4.1.2 一对多关系 42
4.1.3 多对多关系 42
4.2 建立和修改关系 42
4.2.1 建立两表之间的关系 42
4.2.2 修改、删除现有的关系 44
4.2.3 打印关系 44
4.3 使用参照完整性 45
4.3.1 实施参照完整性 45
4.3.3 级联删除相关记录 46
4.3.2 级联更新相关字段 46
4.3.4 参照完整性的好与坏 47
4.4 小结 47
思考题 47
实践练习 47
第5章 使用查询 48
5.1 为什么要使用查询 48
5.2 简单的查询 49
5.2.1 选择查询 49
5.2.2 更新查询 51
5.2.3 生成表查询 52
5.2.4 追加查询 53
5.2.5 删除查询 54
5.3 更加复杂的查询 55
5.3.1 排序与条件准则 55
5.3.2 使用计算字段及合计 58
5.3.3 处理位于多个表或查询中的数据 60
5.3.4 参数查询 61
5.4.1 表达式生成器 62
5.4 更好地使用查询 62
5.3.5 交叉表查询 62
5.4.2 字段、字段列表及查询属性 63
5.4.3 Null值对查询结果的影响 65
5.5 小结 65
思考题 65
实践练习 65
第6章 窗体的设计 66
6.1 窗体的用途 66
6.2 窗体的分类 67
6.2.2 按外观进行分类 68
6.2.1 按功能进行分类 68
6.2.3 不同窗体的使用场合 69
6.3 创建及修改窗体 69
6.3.1 使用向导创建普通窗体 69
6.3.2 使用向导创建图表窗体 72
6.3.3 使用向导创建数据透视表窗体 73
6.3.4 使用向导创建切换面板 74
6.3.5 在设计视图中创建简单窗体 76
6.3.6 为窗体添加按钮和标签 77
6.3.7 创建带条件格式的数据表 79
6.3.8 创建带子窗体的窗体 80
6.4 窗体常用控件的使用 81
6.4.1 添加并设置控件 81
6.4.2 删除控件 82
6.4.3 显示和输入文本的控件 82
6.4.4 为用户提供选择的控件 83
6.5 在窗体中编写代码 88
6.6 小结 90
思考题 90
实践练习 91
7.2 报表的分类及应用范围 92
第7章 创建报表 92
7.1 了解报表 92
7.3 设计报表 94
7.3.1 使用向导创建报表 95
7.3.2 在设计视图中创建报表 98
7.4 小结 100
思考题 100
实践练习 100
8.1 了解VBA 101
8.1.1 初识VBE 101
第8章 VBA编程 101
8.1.2 VBA与VBS 102
8.2 VBA语法(即Access的对象结构) 102
8.2.1 过程与函数 102
8.2.2 常量与变量 104
8.2.3 数据类型 105
8.2.4 续行与注释 105
8.2.5 数组 106
8.2.6 VBA控制结构 107
8.2.7 错误捕捉与错误处理 112
8.2.8 循环嵌套 114
8.2.9 VBA命名规则 115
8.2.10 生命周期、可见性 116
8.3 VBA代码编辑器(VBE) 117
8.3.1 VBE窗口的分类及功能 118
8.3.2 对象浏览器 119
8.3.3 跟踪与调试 120
8.3.4 自定义VBE环境 122
8.3.5 提高代码编辑效率 123
实践练习 124
思考题 124
8.4 小结 124
第9章 DAO与ADO对象 125
9.1 了解DAO与ADO 125
9.2 DAO对象模型 125
9.2.1 DBEngine对象 126
9.2.2 Error对象 127
9.2.3 Workspace对象 128
9.2.4 Database对象 128
9.2.5 Recordset对象 129
9.2.6 TableDef对象 130
9.2.7 Index对象 131
9.2.8 QueryDef对象 132
9.2.9 Relatiion对象 132
9.2.10 Container对象 133
9.3 ADO对象模型 134
9.3.1 Connection对象 135
9.3.2 Command对象 136
9.3.3 Recordset对象 136
9.4 在Access中如何使用DAO和ADO 137
9.6 小结 138
9.5 如何避免ADO与DAO的命名冲突 138
思考题 139
实践练习 139
第10章 深入表和查询 140
10.1 如何设计表才能减轻制作窗体和报表的工作量 140
10.1.1 统一的标准命名与范式设计 140
10.1.2 字段的标题与说明属性在窗体中的作用 143
10.1.3 格式、输入掩码、输入法模式、默认值设置的重要性 143
10.1.4 查阅属性如何自动与窗体结合 144
10.1.5 OLE对象与自动编号数据类型的灵活运用 146
10.2.1 惟一值、惟一记录与上限值 152
10.2 高级查询操作 152
10.2.2 如何创建复杂的交叉表查询 154
10.2.3 外部联结与自联结 157
10.2.4 联合查询与子查询 158
10.2.5 参数传递 161
10.2.6 查询中如何使用自定义函数 167
10.3 优化表与查询 169
10.3.1 遵循范式与速度之间的抉择 169
10.3.2 索引对性能的影响 169
10.3.3 了解查询编译过程 169
10.3.4 优化查询性能 171
10.4 小结 173
思考题 173
实践练习 173
第11章 窗体与报表的高级设计 174
11.1 窗体设计的高级技巧及深层应用 174
11.1.1 窗体事件的触发顺序 174
11.1.2 如何为窗体设置两个以上的计时器 176
11.1.3 如何共用窗体页眉与页脚 177
11.1.4 窗体之间参数传递的几种方法及其性能比较 178
11.1.5 灵活运用弹出式窗体与模式窗体 179
11.1.6 多页窗体与选项卡窗体的巧妙应用 181
11.1.7 制作通用的切换面板窗体与欢迎屏幕窗体 184
11.1.8 内建对话框的使用技巧 187
11.1.9 窗体的自定义菜单、工具栏和快捷菜单 190
11.1.10 精解打开窗体命令的各个参数 194
11.1.11 窗体自定义属性和方法 197
11.2 报表设计的高级技巧及深层应用 201
11.2.1 报表事件的触发顺序 201
11.2.2 Format事件与Print事件的妙用 203
11.2.3 报表的特殊属性 203
11.2.4 报表的自动伸缩与强制分页 205
11.2.6 如何实现多栏报表 206
11.2.5 如何实现真正的页合计 206
11.2.7 报表的自定义菜单、工具栏和快捷菜单 208
11.3 窗体与报表的交互 208
11.3.1 窗体与报表的记录源如何自动同步 208
11.3.2 如何实现窗体与报表为所见即所得 210
11.3.3 传递窗体参数给报表的几种方法 211
11.4 小结 211
思考题 211
实践练习 211
12.1.1 什么是ADP 212
第12章 ADP与SQLServer 212
12.1 ADP项目 212
12.1.2 创建ADP 213
12.1.3 使用表、查询和数据库图表 217
12.1.4 使用存储过程 223
12.1.5 ADP编程与MDB编程的区别 227
12.2 MSDE与SQLServer 229
12.2.1 MSDE与SQLServer的区别 229
12.2.2 分发MSDE 234
12.2.3 使用企业管理器对SQLServer进行管理 234
12.2.4 使用SQLServer作为后台数据库的编程技巧 240
12.3 小结 243
思考题 243
实践练习 243
第13章 制作帮助文件与安装文件 244
13.1 制作帮助文件 244
13.1.1 两种不同类型的帮助文件 244
13.1.2 常用帮助文件的制作工具 246
13.1.3 在程序中调用帮助文档实例 259
13.2.1 Mde,Ade与Exe文件的区别 262
13.2 制作安装文件 262
13.2.2 MOD的打包工具 263
13.2.3 常用的第三方打包程序 268
13.3 小结 269
思考题 269
实践练习 269
第14章 制作通用的“关于”窗体 270
14.1 设计思想 270
14.2 创建表 270
14.3 创建窗体和编写窗体代码 274
14.3.1 设计“关于”窗体的界面和控件 274
14.3.2 编写窗体及控件的相关代码 281
14.4 小结 285
思考题 285
实践练习 285
第15章 设计通用的XP界面效果 286
15.1 设计思路 286
15.2 控件的鼠标事件处理 287
15.2.1 控件的鼠标移动事件 287
15.2.2 控件的鼠标按下事件 289
15.2.3 控件的鼠标弹起事件 290
15.3.1 通用的窗体初始化函数 291
15.3 初始化窗体的控件 291
15.3.2 通用的窗体调整大小事件处理函数 294
15.4 调用XP界面效果模块 295
15.5 小结 297
思考题 297
实践练习 297
第16章 制作带计算器功能的文本框 298
16.1 设计思路与预计效果 298
16.1.1 设计思路 298
16.1.2 预计效果 298
16.2.1 制作计算器窗体界面 299
16.2 功能实现 299
16.2.2 编写代码实现计算器的计算功能 301
16.2.3 在文本框中调用计算器窗体 306
16.3 小结 307
思考题 308
实践练习 308
第17章 考试管理系统 309
17.1 设计数据库 309
17.3 设计试题类型窗体 311
17.2 设计数据表 311
17.3.1 设计试题类型选择窗体 312
17.3.2 设计试题类型输入窗体 313
17.4 设计试题输入窗体 314
17.5 设计选题窗体 315
17.5.1 设计手工选题窗体 315
17.5.2 设计随机选题窗体 317
17.6 设计试题报表 319
17.6.1 设计考生试题报表 319
17.6.2 设计考官试题报表 321
实践练习 322
17.7 小结 322
思考题 322
第18章 仓库管理系统 323
18.1 设计数据库 323
18.2 设计数据表 324
18.3 模板窗体的界面设计及代码编写 331
18.3.1 创建通用的窗体页眉及页脚窗体 331
18.3.2 标准录入窗体模板的设计 336
18.3.3 标准查询窗体模板的设计 349
18.4.1 票证分类录入窗体与查询窗体的设计 358
18.4 基础数据窗体的界面设计及代码编写 358
18.4.2 票证资料录入窗体与查询窗体的设计 362
18.4.3 人员资料录入窗体与查询窗体的设计 367
18.4.4 入出库类型资料录入窗体与查询窗体的设计 369
18.5 单据处理窗体界面设计及代码编写 372
18.5.1 通用单据明细子窗体的设计 372
18.5.2 通用库存分布子窗体的设计 379
18.5.3 单据主窗体的设计 382
18.6 查询统计窗体界面设计及代码编写 397
18.6.1 总账查询统计窗体的设计 398
18.6.2 明细账查询统计窗体的设计 403
18.6.3 凭证式票证领用查询窗体的设计 406
18.7 主界面窗体设计 407
18.7.1 主界面窗体的界面设计 407
18.7.2 主界面窗体的代码设计 408
18.8 小结 414
思考题 415
实践练习 415
附录A LNC命名规则 416