相关书籍
中文版Access 2019宝典(第9版)
|
- 书籍介绍
目 录
第Ⅰ部分 Access构建块
第1章 数据库开发简介 3
1.1 Access的数据库术语 3
1.1.1 数据库 3
1.1.2 表 4
1.1.3 记录和字段 4
1.1.4 值 5
1.2 关系数据库 5
1.3 Access数据库对象 5
1.3.1 表 6
1.3.2 查询 6
1.3.3 数据输入和显示窗体 6
1.3.4 报表 6
1.3.5 宏和VBA 7
1.3.6 数据库对象 7
1.4 5步设计法 7
1.4.1 步骤1:总体设计——从概念到实际 7
1.4.2 步骤2:报表设计 8
1.4.3 步骤3:数据设计 8
1.4.4 步骤4:表设计 9
1.4.5 步骤5:窗体设计 11
第2章 Access简介 12
2.1 Access欢迎屏幕 12
2.2 如何创建空白数据库 13
2.3 Access 2019界面 14
2.3.1 “导航”窗格 15
2.3.2 功能区 17
2.3.3 快速访问工具栏 17
第Ⅱ部分 了解Access表
第3章 创建Access表 21
3.1 表的类型 21
3.1.1 对象表 21
3.1.2 事务表 21
3.1.3 联接表 22
3.2 创建新表 22
3.2.1 设计表 23
3.2.2 使用“设计”选项卡 26
3.2.3 使用字段 27
3.3 创建tblCustomers表 32
3.3.1 使用自动编号字段 32
3.3.2 完成tblCustomers表 32
3.4 更改表设计 33
3.4.1 插入新字段 33
3.4.2 删除字段 33
3.4.3 更改字段位置 33
3.4.4 更改字段名称 33
3.4.5 更改字段大小 33
3.4.6 处理数据转换问题 34
3.4.7 分配字段属性 34
3.5 了解tblCustomers字段属性 43
3.6 设置主键 45
3.6.1 选择主键 45
3.6.2 创建主键 46
3.6.3 创建复合主键 46
3.7 为Access表编制索引 46
3.7.1 索引的重要性 47
3.7.2 多字段索引 48
3.7.3 何时对表编制索引 49
3.8 打印表设计 50
3.9 保存完成的表 51
3.10 操纵表 51
3.10.1 重命名表 51
3.10.2 删除表 51
3.10.3 复制数据库中的表 51
3.10.4 将表复制到另一个数据库 52
3.11 向数据库表中添加记录 52
3.12 了解附件字段 53
第4章 了解表关系 54
4.1 构建无懈可击的数据库 54
4.2 数据规范化和反规范化 56
4.2.1 第一范式 56
4.2.2 第二范式 58
4.2.3 第三范式 61
4.2.4 反规范化 61
4.3 表关系 62
4.3.1 连接数据 63
4.3.2 一对一 64
4.3.3 一对多 65
4.3.4 多对多 65
4.4 完整性规则 66
4.4.1 主键不能包含空值 67
4.4.2 所有外键值必须与对应的主键匹配 68
4.5 键 68
4.5.1 确定主键 69
4.5.2 主键的优点 69
4.5.3 指定主键 70
4.5.4 创建关系并实施参照完整性 71
4.5.5 查看所有关系 74
4.5.6 删除关系 75
4.5.7 遵从应用程序特定的完整性规则 75
第5章 使用Access表 76
5.1 了解数据表 76
5.2 数据表窗口 77
5.2.1 在数据表中移动 78
5.2.2 使用导航按钮 78
5.2.3 检查数据表功能区 79
5.3 打开数据表 80
5.4 输入新数据 80
5.4.1 保存记录 81
5.4.2 了解数据类型的自动验证 82
5.4.3 了解属性如何影响数据输入 82
5.5 在数据表中导航记录 84
5.5.1 在记录之间移动 84
5.5.2 查找特定值 84
5.6 在数据表中更改值 86
5.6.1 手动替换现有值 86
5.6.2 更改现有值 86
5.7 使用撤消功能 87
5.8 复制和粘贴值 87
5.9 替换值 88
5.10 添加新记录 88
5.11 删除记录 89
5.12 显示记录 89
5.12.1 更改字段顺序 89
5.12.2 更改字段显示宽度 90
5.12.3 更改记录显示高度 91
5.12.4 更改显示字体 91
5.12.5 显示单元格网格线和隔行颜色 92
5.12.6 对齐列中的数据 93
5.12.7 隐藏和取消隐藏列 93
5.12.8 冻结列 93
5.12.9 保存更改的布局 94
5.12.10 保存记录 94
5.13 在数据表中排序和筛选记录 94
5.13.1 记录排序 94
5.13.2 筛选选定内容 95
5.13.3 按窗体筛选 96
5.14 聚合数据 97
5.15 打印记录 97
5.16 预览记录 98
第6章 导入和导出数据 99
6.1 Access如何使用外部数据 99
6.1.1 外部数据的类型 99
6.1.2 使用外部数据的方式 99
6.2 用于导入和导出的选项 101
6.3 如何导入外部数据 103
6.3.1 从其他Access数据库导入 103
6.3.2 从Excel电子表格导入 105
6.3.3 导入SharePoint列表 107
6.3.4 从文本文件导入数据 108
6.3.5 导入和导出XML文档 112
6.3.6 导入和导出HTML文档 114
6.3.7 导入除表之外的其他Access对象 115
6.3.8 导入Outlook文件夹 116
6.4 如何导出到外部格式 117
6.4.1 将对象导出到其他Access数据库中 117
6.4.2 通过ODBC驱动程序导出 118
6.4.3 导出到Word中 119
6.4.4 发布到PDF或XPS 120
第7章 链接到外部数据 121
7.1 链接外部数据 122
7.1.1 标识链接表 122
7.1.2 链接数据的限制 123
7.1.3 链接到其他Access数据库表 124
7.1.4 链接到ODBC数据源 126
7.1.5 链接到非数据库数据 126
7.2 使用链接表 130
7.2.1 设置视图属性 130
7.2.2 设置关系 130
7.2.3 优化链接表 131
7.2.4 删除链接表引用 131
7.2.5 查看或更改链接表的信息 131
7.2.6 刷新链接表 132
7.3 拆分数据库 132
7.3.1 拆分数据库的益处 132
7.3.2 了解将哪些对象放置到什么位置 134
7.3.3 使用数据库拆分器插件 134
第Ⅲ部分 使用Access查询
第8章 使用查询选择数据 139
8.1 查询简介 139
8.1.1 查询的功能 139
8.1.2 查询返回的内容 140
8.2 创建查询 140
8.2.1 向查询中添加字段 142
8.2.2 运行查询 143
8.3 使用查询字段 144
8.3.1 在QBE窗格中选择字段 144
8.3.2 更改字段顺序 144
8.3.3 在QBE窗格中调整列大小 145
8.3.4 删除字段 145
8.3.5 插入字段 145
8.3.6 隐藏字段 145
8.3.7 更改字段的排序顺序 146
8.4 向查询中添加条件 147
8.4.1 了解选择条件 147
8.4.2 输入简单字符串条件 147
8.4.3 输入其他简单条件 148
8.5 打印查询的记录集 148
8.6 保存查询 149
8.7 创建多表查询 149
8.7.1 查看表名 150
8.7.2 添加多个字段 150
8.7.3 了解多表查询的限制 151
8.7.4 克服查询限制 151
8.8 使用表窗格 152
8.8.1 查看联接线 152
8.8.2 移动表 152
8.8.3 删除表 152
8.8.4 添加更多表 153
8.9 创建和使用查询联接 153
8.9.1 了解联接 153
8.9.2 利用即席表联接 154
8.9.3 指定联接类型 155
8.9.4 删除联接 156
第9章 在Access中使用运算符和表达式 157
9.1 运算符简介 157
9.1.1 运算符的类型 157
9.1.2 运算符优先顺序 165
9.2 在查询中使用运算符和表达式 166
9.2.1 使用查询比较运算符 166
9.2.2 了解复杂条件 167
9.2.3 在选择查询中使用函数 169
9.2.4 在选择查询中引用字段 169
9.3 输入单值字段条件 169
9.3.1 输入字符(文本或备注型)条件 170
9.3.2 Like运算符和通配符 170
9.3.3 指定非匹配值 172
9.3.4 输入数值条件 173
9.3.5 输入True或False条件 173
9.3.6 输入OLE对象条件 174
9.4 在一个查询中使用多个条件 174
9.4.1 了解Or运算 174
9.4.2 使用Or运算符指定多个值 174
9.4.3 使用QBE窗格的“或”单元格 175
9.4.4 对In运算符使用值列表 175
9.4.5 使用And运算符指定范围 176
9.4.6 使用Between...And运算符 177
9.4.7 搜索Null数据 177
9.5 在多个字段中输入条件 178
9.5.1 在一个查询中跨字段使用And和Or运算符 178
9.5.2 跨一个查询的多个字段指定Or条件 179
9.5.3 在不同字段中使用And和Or运算符 180
9.5.4 不同行上的复杂查询 181
第10章 选择查询以外的查询形式 182
10.1 聚合查询 182
10.1.1 创建聚合查询 182
10.1.2 聚合函数 185
10.2 动作查询 187
10.2.1 生成表查询 188
10.2.2 删除查询 189
10.2.3 追加查询 191
10.2.4 更新查询 195
10.3 交叉表查询 197
10.3.1 使用交叉表查询向导创建交叉表查询 197
10.3.2 手动创建交叉表查询 200
10.4 优化查询性能 204
10.4.1 规范化数据库设计 204
10.4.2 在适当的字段中使用索引 205
10.4.3 通过改进查询设计进行优化 205
10.4.4 定期压缩和修复数据库 206
第Ⅳ部分 在Access中分析数据
第11章 在Access中转换数据 209
11.1 查找并删除重复记录 209
11.1.1 定义重复记录 209
11.1.2 查找重复记录 210
11.1.3 删除重复记录 212
11.2 常见的转换任务 214
11.2.1 填充空白字段 214
11.2.2 连接 214
11.2.3 更改大小写 216
11.2.4 删除字符串中的前导空格和尾随空格 217
11.2.5 查找并替换特定文本 217
11.2.6 在字符串中的关键位置添加自己的文本 218
11.2.7 使用字符标记分解字符串 220
第12章 使用计算和日期 223
12.1 在分析中使用计算 223
12.1.1 常见的计算场景 223
12.1.2 使用表达式生成器构造计算 226
12.1.3 常见的计算错误 229
12.2 在分析中使用日期 231
12.2.1 简单的日期计算 231
12.2.2 使用函数进行高级分析 232
第13章 执行条件分析 239
13.1 使用参数查询 239
13.1.1 参数查询的工作原理 240
13.1.2 参数查询的基本规则 240
13.1.3 使用参数查询 240
13.2 使用条件函数 244
13.2.1 IIf函数 244
13.2.2 Switch函数 248
13.2.3 比较IIf函数与Switch函数 248
第14章 使用SQL的基本知识 251
14.1 了解基本SQL 251
14.1.1 SELECT语句 252
14.1.2 WHERE子句 252
14.1.3 深入了解联接 253
14.2 了解高级SQL语句 254
14.2.1 使用Like运算符扩展搜索 254
14.2.2 在不分组的情况下选择唯一值和行 255
14.2.3 使用GROUP BY子句分组和聚合 255
14.2.4 使用ORDER BY子句设置排序顺序 256
14.2.5 使用AS子句创建别名 256
14.2.6 仅显示SELECT TOP或SELECT
TOP PERCENT 256
14.2.7 通过SQL语句执行动作查询 258
14.2.8 使用TRANSFORM语句创建交叉表 259
14.3 使用特定于SQL的查询 259
14.3.1 使用UNION运算符合并数据集 259
14.3.2 使用CREATE TABLE语句创建表 261
14.3.3 使用ALTER TABLE语句操纵列 261
14.3.4 创建传递查询 262
第15章 子查询和域聚合函数 264
15.1 使用子查询增强分析 264
15.1.1 使用子查询的原因 265
15.1.2 子查询基本规则 265
15.1.3 在不输入SQL语句的情况下创建子查询 265
15.1.4 将IN和NOT IN运算符与子查询结合使用 267
15.1.5 将子查询与比较运算符结合使用 268
15.1.6 使用子查询作为表达式 268
15.1.7 使用相关子查询 269
15.1.8 在动作查询中使用子查询 270
15.2 域聚合函数 272
15.2.1 了解不同的域聚合函数 273
15.2.2 了解域聚合函数的语法 274
15.2.3 使用域聚合函数 275
第16章 在Access中运行描述性统计 279
16.1 基本描述性统计 279
16.1.1 使用聚合查询运行描述性统计 279
16.1.2 确定排名、众数和中值 280
16.1.3 从数据集中抽取随机抽样 284
16.2 高级描述性统计 285
16.2.1 计算百分点排名 285
16.2.2 确定记录的四分位数名次 286
16.2.3 创建频率分布 287
第Ⅴ部分 使用Access窗体和报表
第17章 创建基本的Access窗体 293
17.1 使用窗体视图 293
17.1.1 了解不同类型的窗体 294
17.1.2 创建新窗体 294
17.1.3 了解特殊类型的窗体 297
17.1.4 调整窗体区域的大小 301
17.1.5 保存窗体 301
17.2 使用控件 301
17.2.1 对控件进行分类 302
17.2.2 添加控件 303
17.2.3 选择和取消选择控件 306
17.2.4 操纵控件 307
17.3 属性简介 313
17.3.1 显示属性表 313
17.3.2 了解属性表 313
17.3.3 更改控件的属性设置 314
17.3.4 命名控件标签及其标题 315
第18章 在Access窗体上使用数据 317
18.1 使用窗体视图 317
18.1.1 了解功能区的“开始”选项卡 318
18.1.2 在字段中导航 320
18.1.3 在窗体的记录中移动 320
18.2 更改窗体中的值 321
18.2.1 了解无法编辑的控件 321
18.2.2 使用图片和OLE对象 322
18.2.3 在长文本字段中输入数据 322
18.2.4 在日期字段中输入数据 323
18.2.5 使用选项组 323
18.2.6 使用组合框和列表框 324
18.2.7 切换到数据表视图 324
18.2.8 保存记录 325
18.3 打印窗体 325
18.4 使用窗体属性 325
18.4.1 使用“标题”属性更改标题栏文本 326
18.4.2 创建绑定窗体 327
18.4.3 指定如何查看窗体 327
18.4.4 删除记录选择器 328
18.4.5 了解其他窗体属性 328
18.5 添加窗体页眉或页脚 331
18.6 使用节属性 332
18.6.1 “可见”属性 332
18.6.2 “高度”属性 332
18.6.3 “背景色”属性 332
18.6.4 “特殊效果”属性 332
18.6.5 “何时显示”属性 332
18.6.6 打印属性 332
18.7 更改布局 333
18.7.1 更改控件的属性 333
18.7.2 设置Tab键次序 333
18.7.3 修改控件中文本的格式 334
18.7.4 使用字段列表添加控件 334
18.8 将窗体转换为报表 335
第19章 使用窗体控件 336
19.1 设置控件属性 336
19.1.1 自定义默认属性 337
19.1.2 了解常用的控件和属性 337
19.2 创建计算控件 340
19.3 使用子窗体 340
19.4 窗体设计提示 341
19.4.1 使用“制表位”属性 341
19.4.2 标记复选框 342
19.4.3 设置组合框和列表框 342
19.5 了解高级窗体技术 343
19.5.1 使用页码和日期/时间控件 343
19.5.2 使用图像控件 344
19.5.3 控件变种 344
19.5.4 使用格式刷 345
19.5.5 提供更多最终用户帮助 345
19.5.6 添加背景图片 346
19.5.7 限制窗体上显示的记录 347
19.6 使用选项卡控件 347
19.7 使用对话框收集信息 349
19.7.1 设计查询 349
19.7.2 设置命令按钮 349
19.7.3 添加默认按钮 350
19.7.4 设置“取消”按钮 350
19.7.5 删除控制菜单 350
19.8 从头开始设计窗体 350
19.8.1 创建基本的窗体 351
19.8.2 创建子窗体 351
19.8.3 添加子窗体 352
19.8.4 更改窗体的行为 353
19.8.5 更改窗体的外观 354
第20章 使用Access报表显示数据 356
20.1 报表简介 356
20.1.1 标识不同类型的报表 356
20.1.2 区分报表和窗体 358
20.2 从头到尾创建报表 358
20.2.1 定义报表布局 359
20.2.2 收集数据 359
20.2.3 使用报表向导创建报表 359
20.2.4 打印或查看报表 368
20.2.5 保存报表 369
20.3 区段报表设计概念 369
20.3.1 “报表页眉”节 371
20.3.2 “页面页眉”节 371
20.3.3 “组页眉”节 371
20.3.4 “主体”节 371
20.3.5 “组页脚”节 372
20.3.6 “页面页脚”节 372
20.3.7 “报表页脚”节 372
20.4 从头开始创建报表 372
20.4.1 创建新报表并将其绑定到
查询 373
20.4.2 定义报表页面大小和布局 374
20.4.3 在报表上放置控件 375
20.4.4 调整节的大小 376
20.4.5 使用文本框 377
20.4.6 更改标签和文本框控件属性 381
20.4.7 放大和缩小文本框控件 382
20.4.8 排序和分组数据 382
20.4.9 对组中的数据进行排序 383
20.4.10 添加分页符 385
20.5 改进报表的外观 385
20.5.1 调整页面页眉 386
20.5.2 在组页眉中创建表达式 386
20.5.3 创建报表页眉 387
第21章 高级Access报表技术 389
21.1 分组和排序数据 389
21.1.1 按字母顺序分组数据 389
21.1.2 根据日期间隔进行分组 392
21.1.3 隐藏重复信息 394
21.1.4 隐藏页面页眉 396
21.1.5 每个组的页码从1开始 396
21.2 设置数据格式 396
21.2.1 创建编号列表 397
21.2.2 添加项目符号字符 399
21.2.3 在运行时添加强调效果 401
21.2.4 避免出现空白报表 402
21.2.5 在列之间插入垂直线 402
21.2.6 每隔n条记录添加一个空白行 404
21.2.7 奇偶页打印 405
21.2.8 在同一文本框中使用不同的格式 406
21.2.9 使标题居中 407
21.2.10 对齐控件标签 407
21.2.11 对控件进行细微调整 407
21.3 添加数据 407
21.3.1 向报表中添加更多信息 407
21.3.2 将用户的姓名添加到绑定报表中 408
21.4 添加更大的灵活性 409
21.4.1 在一个组合框中显示所有报表 409
21.4.2 基于查询的数据快速打印 410
21.4.3 在报表中使用蛇形列 410
21.4.4 使用双步报表处理 414
21.4.5 为控件分配唯一名称 415
第Ⅵ部分 Access编程基础知识
第22章 使用Access宏 419
22.1 宏简介 419
22.1.1 创建宏 420
22.1.2 将宏分配到事件 421
22.2 了解宏安全性 422
22.2.1 启用沙盒模式 422
22.2.2 信任中心 423
22.3 多操作宏 424
22.4 子宏 426
22.5 条件 429
22.5.1 使用条件打开报表 429
22.5.2 条件中的多个操作 430
22.6 临时变量 431
22.6.1 增强已经创建的宏 431
22.6.2 使用临时变量简化宏 432
22.6.3 在VBA中使用临时变量 434
22.7 错误处理和宏调试 434
22.7.1 OnError操作 435
22.7.2 MacroError对象 437
22.7.3 调试宏 437
22.8 嵌入的宏 438
22.9 宏与VBA语句 439
22.9.1 在宏与VBA之间做出选择 440
22.9.2 将现有宏转换为VBA 440
第23章 使用Access数据宏 442
23.1 数据宏简介 442
23.2 了解表事件 443
23.2.1 前期事件 443
23.2.2 后期事件 444
23.3 使用宏设计器处理数据宏 444
23.4 了解操作目录 446
23.4.1 程序流程 446
23.4.2 数据块 446
23.4.3 数据操作 447
23.5 创建第一个数据宏 448
23.6 管理宏对象 450
23.6.1 折叠和展开宏项目 450
23.6.2 移动宏条目 450
23.6.3 将宏保存为XML 451
23.7 了解数据宏的限制 451
第24章 Access VBA入门 453
24.1 VBA简介 453
24.2 了解VBA术语 454
24.3 了解VBA代码基础知识 455
24.4 创建VBA程序 455
24.4.1 模块和过程 455
24.4.2 在代码窗口中工作 460
24.5 了解VBA分支构造 464
24.5.1 分支 464
24.5.2 循环 468
24.6 使用对象和集合 470
24.6.1 对象入门 470
24.6.2 属性和方法 471
24.6.3 With语句 471
24.6.4 For Each语句 472
24.7 探索Visual Basic编辑器 473
24.7.1 立即窗口 473
24.7.2 工程资源管理器 474
24.7.3 对象浏览器 475
24.7.4 VBE选项 475
第25章 了解VBA数据类型和过程 479
25.1 使用变量 479
25.1.1 命名变量 480
25.1.2 声明变量 481
25.2 使用数据类型 484
25.2.1 比较隐式变量与显式变量 485
25.2.2 强制显式声明 486
25.2.3 给变量使用命名约定 487
25.2.4 了解变量作用域和生存期 488
25.2.5 使用常量 490
25.2.6 使用数组 492
25.3 了解Sub和函数 497
25.3.1 了解创建过程的位置 497
25.3.2 调用VBA过程 498
25.3.3 创建Sub 498
25.4 创建函数 500
25.4.1 处理参数 501
25.4.2 调用函数并传递参数 501
25.4.3 创建函数以计算销售税 503
25.5 使用命名参数简化代码 504
第26章 了解Access事件模型 506
26.1 编程事件 506
26.1.1 了解事件如何触发VBA代码 507
26.1.2 创建事件过程 507
26.2 识别常用事件 508
26.2.1 窗体事件过程 509
26.2.2 控件事件过程 511
26.2.3 报表事件过程 512
26.2.4 报表节事件过程 513
26.3 关注事件序列 514
26.3.1 了解常见的事件序列 514
26.3.2 编写简单的窗体和控件事件过程 515
第27章 调试Access应用程序 519
27.1 组织VBA代码 519
27.2 测试应用程序 520
27.2.1 测试函数 521
27.2.2 编译VBA代码 523
27.3 传统调试技术 524
27.3.1 使用MsgBox 524
27.3.2 使用Debug.Print 527
27.4 使用Access调试工具 528
27.4.1 使用立即窗口运行代码 528
27.4.2 使用断点中断执行 529
27.4.3 使用本地窗口查看变量 532
27.4.4 使用“监视”窗口设置监视 533
27.4.5 使用条件监视 534
27.4.6 使用“调用堆栈”窗口 535
27.5 捕获代码中的错误 535
27.5.1 了解错误捕获 536
27.5.2 Err对象 538
27.5.3 在过程中包含错误处理 538
第Ⅶ部分 高级Access编程技术
第28章 使用VBA代码访问数据 541
28.1 使用数据 541
28.2 了解DAO对象 543
28.3.1 DAO DBEngine对象 544
28.3.2 DAO Workspace对象 544
28.3.3 DAO Database对象 544
28.3.4 DAO TableDef对象 545
28.3.5 DAO QueryDef对象 546
28.3.6 DAO Recordset对象 548
28.3.7 DAO Field对象(记录集) 551
28.3 了解ADO对象 552
28.3.1 ADO Connection对象 552
28.3.2 ADO Command对象 554
28.3.3 ADO Recordset对象 555
28.4 编写VBA代码以更新表 556
28.4.1 使用ADO更新记录中的
字段 556
28.4.2 更新计算控件 557
28.4.3 添加新记录 561
28.4.4 删除记录 561
28.4.5 删除多个表中的相关记录 562
第29章 使用VBA进行高级数据访问 564
29.1 向窗体中添加未绑定组合框
以查找数据 564
29.1.1 使用FindRecord方法 565
29.1.2 使用书签 566
29.2 筛选窗体 569
29.2.1 使用代码 569
29.2.2 使用查询 570
第30章 自定义功能区 575
30.1 功能区层次结构 575
30.1.1 Access功能区的控件 576
30.1.2 特殊功能区功能 578
30.2 编辑默认功能区 578
30.3 使用快速访问工具栏 580
30.4 开发自定义功能区 581
30.4.1 功能区创建过程 581
30.4.2 使用VBA回调 582
30.5 创建自定义功能区 583
30.5.1 步骤1:设计功能区并
构建XML 583
30.5.2 步骤2:编写回调例程 584
30.5.3 步骤3:创建USysRibbons表 585
30.5.4 步骤4:向USysRibbons
中添加XML 586
30.5.5 步骤5:指定自定义功能区
属性 586
30.6 基本的功能区XML 588
30.7 添加功能区控件 589
30.7.1 指定imageMso 589
30.7.2 标签控件 589
30.7.3 按钮控件 590
30.7.4 分隔条 591
30.7.5 复选框控件 592
30.7.6 下拉列表控件 592
30.7.7 拆分按钮控件 594
30.8 将功能区附加到窗体和报表 595
30.9 彻底删除功能区 596
第31章 准备Access应用程序以进行分发 598
31.1 定义当前数据库选项 598
31.1.1 应用程序选项 599
31.1.2 导航选项 602
31.1.3 功能区和工具栏选项 603
31.1.4 名称自动更正选项 603
31.2 开发应用程序 603
31.2.1 构建规范 604
31.2.2 创建文档 605
31.2.3 在分发以前对应用程序进行测试 606
31.3 完善应用程序 607
31.3.1 为应用程序提供一致的外观 607
31.3.2 添加常见的专业组件 607
31.3.3 使应用程序易于启动 614
31.4 保护应用程序 615
31.4.1 在所有Visual Basic过程中使用错误捕获功能 616
31.4.2 将表与应用程序的其他内容分隔开来 618
31.4.3 构建坚固的窗体 618
31.4.4 验证用户输入 619
31.4.5 使用/runtime选项 619
31.4.6 对数据库进行加密或编码 620
31.4.7 保护Visual Basic代码 621
31.5 保护环境 622
31.5.1 在代码中设置启动选项 623
31.5.2 禁用启动跳过 623
31.5.3 设置属性值 624
31.5.4 获取属性值 625
第32章 将Access与SharePoint集成 626
第1章 数据库开发简介 3
1.1 Access的数据库术语 3
1.1.1 数据库 3
1.1.2 表 4
1.1.3 记录和字段 4
1.1.4 值 5
1.2 关系数据库 5
1.3 Access数据库对象 5
1.3.1 表 6
1.3.2 查询 6
1.3.3 数据输入和显示窗体 6
1.3.4 报表 6
1.3.5 宏和VBA 7
1.3.6 数据库对象 7
1.4 5步设计法 7
1.4.1 步骤1:总体设计——从概念到实际 7
1.4.2 步骤2:报表设计 8
1.4.3 步骤3:数据设计 8
1.4.4 步骤4:表设计 9
1.4.5 步骤5:窗体设计 11
第2章 Access简介 12
2.1 Access欢迎屏幕 12
2.2 如何创建空白数据库 13
2.3 Access 2019界面 14
2.3.1 “导航”窗格 15
2.3.2 功能区 17
2.3.3 快速访问工具栏 17
第Ⅱ部分 了解Access表
第3章 创建Access表 21
3.1 表的类型 21
3.1.1 对象表 21
3.1.2 事务表 21
3.1.3 联接表 22
3.2 创建新表 22
3.2.1 设计表 23
3.2.2 使用“设计”选项卡 26
3.2.3 使用字段 27
3.3 创建tblCustomers表 32
3.3.1 使用自动编号字段 32
3.3.2 完成tblCustomers表 32
3.4 更改表设计 33
3.4.1 插入新字段 33
3.4.2 删除字段 33
3.4.3 更改字段位置 33
3.4.4 更改字段名称 33
3.4.5 更改字段大小 33
3.4.6 处理数据转换问题 34
3.4.7 分配字段属性 34
3.5 了解tblCustomers字段属性 43
3.6 设置主键 45
3.6.1 选择主键 45
3.6.2 创建主键 46
3.6.3 创建复合主键 46
3.7 为Access表编制索引 46
3.7.1 索引的重要性 47
3.7.2 多字段索引 48
3.7.3 何时对表编制索引 49
3.8 打印表设计 50
3.9 保存完成的表 51
3.10 操纵表 51
3.10.1 重命名表 51
3.10.2 删除表 51
3.10.3 复制数据库中的表 51
3.10.4 将表复制到另一个数据库 52
3.11 向数据库表中添加记录 52
3.12 了解附件字段 53
第4章 了解表关系 54
4.1 构建无懈可击的数据库 54
4.2 数据规范化和反规范化 56
4.2.1 第一范式 56
4.2.2 第二范式 58
4.2.3 第三范式 61
4.2.4 反规范化 61
4.3 表关系 62
4.3.1 连接数据 63
4.3.2 一对一 64
4.3.3 一对多 65
4.3.4 多对多 65
4.4 完整性规则 66
4.4.1 主键不能包含空值 67
4.4.2 所有外键值必须与对应的主键匹配 68
4.5 键 68
4.5.1 确定主键 69
4.5.2 主键的优点 69
4.5.3 指定主键 70
4.5.4 创建关系并实施参照完整性 71
4.5.5 查看所有关系 74
4.5.6 删除关系 75
4.5.7 遵从应用程序特定的完整性规则 75
第5章 使用Access表 76
5.1 了解数据表 76
5.2 数据表窗口 77
5.2.1 在数据表中移动 78
5.2.2 使用导航按钮 78
5.2.3 检查数据表功能区 79
5.3 打开数据表 80
5.4 输入新数据 80
5.4.1 保存记录 81
5.4.2 了解数据类型的自动验证 82
5.4.3 了解属性如何影响数据输入 82
5.5 在数据表中导航记录 84
5.5.1 在记录之间移动 84
5.5.2 查找特定值 84
5.6 在数据表中更改值 86
5.6.1 手动替换现有值 86
5.6.2 更改现有值 86
5.7 使用撤消功能 87
5.8 复制和粘贴值 87
5.9 替换值 88
5.10 添加新记录 88
5.11 删除记录 89
5.12 显示记录 89
5.12.1 更改字段顺序 89
5.12.2 更改字段显示宽度 90
5.12.3 更改记录显示高度 91
5.12.4 更改显示字体 91
5.12.5 显示单元格网格线和隔行颜色 92
5.12.6 对齐列中的数据 93
5.12.7 隐藏和取消隐藏列 93
5.12.8 冻结列 93
5.12.9 保存更改的布局 94
5.12.10 保存记录 94
5.13 在数据表中排序和筛选记录 94
5.13.1 记录排序 94
5.13.2 筛选选定内容 95
5.13.3 按窗体筛选 96
5.14 聚合数据 97
5.15 打印记录 97
5.16 预览记录 98
第6章 导入和导出数据 99
6.1 Access如何使用外部数据 99
6.1.1 外部数据的类型 99
6.1.2 使用外部数据的方式 99
6.2 用于导入和导出的选项 101
6.3 如何导入外部数据 103
6.3.1 从其他Access数据库导入 103
6.3.2 从Excel电子表格导入 105
6.3.3 导入SharePoint列表 107
6.3.4 从文本文件导入数据 108
6.3.5 导入和导出XML文档 112
6.3.6 导入和导出HTML文档 114
6.3.7 导入除表之外的其他Access对象 115
6.3.8 导入Outlook文件夹 116
6.4 如何导出到外部格式 117
6.4.1 将对象导出到其他Access数据库中 117
6.4.2 通过ODBC驱动程序导出 118
6.4.3 导出到Word中 119
6.4.4 发布到PDF或XPS 120
第7章 链接到外部数据 121
7.1 链接外部数据 122
7.1.1 标识链接表 122
7.1.2 链接数据的限制 123
7.1.3 链接到其他Access数据库表 124
7.1.4 链接到ODBC数据源 126
7.1.5 链接到非数据库数据 126
7.2 使用链接表 130
7.2.1 设置视图属性 130
7.2.2 设置关系 130
7.2.3 优化链接表 131
7.2.4 删除链接表引用 131
7.2.5 查看或更改链接表的信息 131
7.2.6 刷新链接表 132
7.3 拆分数据库 132
7.3.1 拆分数据库的益处 132
7.3.2 了解将哪些对象放置到什么位置 134
7.3.3 使用数据库拆分器插件 134
第Ⅲ部分 使用Access查询
第8章 使用查询选择数据 139
8.1 查询简介 139
8.1.1 查询的功能 139
8.1.2 查询返回的内容 140
8.2 创建查询 140
8.2.1 向查询中添加字段 142
8.2.2 运行查询 143
8.3 使用查询字段 144
8.3.1 在QBE窗格中选择字段 144
8.3.2 更改字段顺序 144
8.3.3 在QBE窗格中调整列大小 145
8.3.4 删除字段 145
8.3.5 插入字段 145
8.3.6 隐藏字段 145
8.3.7 更改字段的排序顺序 146
8.4 向查询中添加条件 147
8.4.1 了解选择条件 147
8.4.2 输入简单字符串条件 147
8.4.3 输入其他简单条件 148
8.5 打印查询的记录集 148
8.6 保存查询 149
8.7 创建多表查询 149
8.7.1 查看表名 150
8.7.2 添加多个字段 150
8.7.3 了解多表查询的限制 151
8.7.4 克服查询限制 151
8.8 使用表窗格 152
8.8.1 查看联接线 152
8.8.2 移动表 152
8.8.3 删除表 152
8.8.4 添加更多表 153
8.9 创建和使用查询联接 153
8.9.1 了解联接 153
8.9.2 利用即席表联接 154
8.9.3 指定联接类型 155
8.9.4 删除联接 156
第9章 在Access中使用运算符和表达式 157
9.1 运算符简介 157
9.1.1 运算符的类型 157
9.1.2 运算符优先顺序 165
9.2 在查询中使用运算符和表达式 166
9.2.1 使用查询比较运算符 166
9.2.2 了解复杂条件 167
9.2.3 在选择查询中使用函数 169
9.2.4 在选择查询中引用字段 169
9.3 输入单值字段条件 169
9.3.1 输入字符(文本或备注型)条件 170
9.3.2 Like运算符和通配符 170
9.3.3 指定非匹配值 172
9.3.4 输入数值条件 173
9.3.5 输入True或False条件 173
9.3.6 输入OLE对象条件 174
9.4 在一个查询中使用多个条件 174
9.4.1 了解Or运算 174
9.4.2 使用Or运算符指定多个值 174
9.4.3 使用QBE窗格的“或”单元格 175
9.4.4 对In运算符使用值列表 175
9.4.5 使用And运算符指定范围 176
9.4.6 使用Between...And运算符 177
9.4.7 搜索Null数据 177
9.5 在多个字段中输入条件 178
9.5.1 在一个查询中跨字段使用And和Or运算符 178
9.5.2 跨一个查询的多个字段指定Or条件 179
9.5.3 在不同字段中使用And和Or运算符 180
9.5.4 不同行上的复杂查询 181
第10章 选择查询以外的查询形式 182
10.1 聚合查询 182
10.1.1 创建聚合查询 182
10.1.2 聚合函数 185
10.2 动作查询 187
10.2.1 生成表查询 188
10.2.2 删除查询 189
10.2.3 追加查询 191
10.2.4 更新查询 195
10.3 交叉表查询 197
10.3.1 使用交叉表查询向导创建交叉表查询 197
10.3.2 手动创建交叉表查询 200
10.4 优化查询性能 204
10.4.1 规范化数据库设计 204
10.4.2 在适当的字段中使用索引 205
10.4.3 通过改进查询设计进行优化 205
10.4.4 定期压缩和修复数据库 206
第Ⅳ部分 在Access中分析数据
第11章 在Access中转换数据 209
11.1 查找并删除重复记录 209
11.1.1 定义重复记录 209
11.1.2 查找重复记录 210
11.1.3 删除重复记录 212
11.2 常见的转换任务 214
11.2.1 填充空白字段 214
11.2.2 连接 214
11.2.3 更改大小写 216
11.2.4 删除字符串中的前导空格和尾随空格 217
11.2.5 查找并替换特定文本 217
11.2.6 在字符串中的关键位置添加自己的文本 218
11.2.7 使用字符标记分解字符串 220
第12章 使用计算和日期 223
12.1 在分析中使用计算 223
12.1.1 常见的计算场景 223
12.1.2 使用表达式生成器构造计算 226
12.1.3 常见的计算错误 229
12.2 在分析中使用日期 231
12.2.1 简单的日期计算 231
12.2.2 使用函数进行高级分析 232
第13章 执行条件分析 239
13.1 使用参数查询 239
13.1.1 参数查询的工作原理 240
13.1.2 参数查询的基本规则 240
13.1.3 使用参数查询 240
13.2 使用条件函数 244
13.2.1 IIf函数 244
13.2.2 Switch函数 248
13.2.3 比较IIf函数与Switch函数 248
第14章 使用SQL的基本知识 251
14.1 了解基本SQL 251
14.1.1 SELECT语句 252
14.1.2 WHERE子句 252
14.1.3 深入了解联接 253
14.2 了解高级SQL语句 254
14.2.1 使用Like运算符扩展搜索 254
14.2.2 在不分组的情况下选择唯一值和行 255
14.2.3 使用GROUP BY子句分组和聚合 255
14.2.4 使用ORDER BY子句设置排序顺序 256
14.2.5 使用AS子句创建别名 256
14.2.6 仅显示SELECT TOP或SELECT
TOP PERCENT 256
14.2.7 通过SQL语句执行动作查询 258
14.2.8 使用TRANSFORM语句创建交叉表 259
14.3 使用特定于SQL的查询 259
14.3.1 使用UNION运算符合并数据集 259
14.3.2 使用CREATE TABLE语句创建表 261
14.3.3 使用ALTER TABLE语句操纵列 261
14.3.4 创建传递查询 262
第15章 子查询和域聚合函数 264
15.1 使用子查询增强分析 264
15.1.1 使用子查询的原因 265
15.1.2 子查询基本规则 265
15.1.3 在不输入SQL语句的情况下创建子查询 265
15.1.4 将IN和NOT IN运算符与子查询结合使用 267
15.1.5 将子查询与比较运算符结合使用 268
15.1.6 使用子查询作为表达式 268
15.1.7 使用相关子查询 269
15.1.8 在动作查询中使用子查询 270
15.2 域聚合函数 272
15.2.1 了解不同的域聚合函数 273
15.2.2 了解域聚合函数的语法 274
15.2.3 使用域聚合函数 275
第16章 在Access中运行描述性统计 279
16.1 基本描述性统计 279
16.1.1 使用聚合查询运行描述性统计 279
16.1.2 确定排名、众数和中值 280
16.1.3 从数据集中抽取随机抽样 284
16.2 高级描述性统计 285
16.2.1 计算百分点排名 285
16.2.2 确定记录的四分位数名次 286
16.2.3 创建频率分布 287
第Ⅴ部分 使用Access窗体和报表
第17章 创建基本的Access窗体 293
17.1 使用窗体视图 293
17.1.1 了解不同类型的窗体 294
17.1.2 创建新窗体 294
17.1.3 了解特殊类型的窗体 297
17.1.4 调整窗体区域的大小 301
17.1.5 保存窗体 301
17.2 使用控件 301
17.2.1 对控件进行分类 302
17.2.2 添加控件 303
17.2.3 选择和取消选择控件 306
17.2.4 操纵控件 307
17.3 属性简介 313
17.3.1 显示属性表 313
17.3.2 了解属性表 313
17.3.3 更改控件的属性设置 314
17.3.4 命名控件标签及其标题 315
第18章 在Access窗体上使用数据 317
18.1 使用窗体视图 317
18.1.1 了解功能区的“开始”选项卡 318
18.1.2 在字段中导航 320
18.1.3 在窗体的记录中移动 320
18.2 更改窗体中的值 321
18.2.1 了解无法编辑的控件 321
18.2.2 使用图片和OLE对象 322
18.2.3 在长文本字段中输入数据 322
18.2.4 在日期字段中输入数据 323
18.2.5 使用选项组 323
18.2.6 使用组合框和列表框 324
18.2.7 切换到数据表视图 324
18.2.8 保存记录 325
18.3 打印窗体 325
18.4 使用窗体属性 325
18.4.1 使用“标题”属性更改标题栏文本 326
18.4.2 创建绑定窗体 327
18.4.3 指定如何查看窗体 327
18.4.4 删除记录选择器 328
18.4.5 了解其他窗体属性 328
18.5 添加窗体页眉或页脚 331
18.6 使用节属性 332
18.6.1 “可见”属性 332
18.6.2 “高度”属性 332
18.6.3 “背景色”属性 332
18.6.4 “特殊效果”属性 332
18.6.5 “何时显示”属性 332
18.6.6 打印属性 332
18.7 更改布局 333
18.7.1 更改控件的属性 333
18.7.2 设置Tab键次序 333
18.7.3 修改控件中文本的格式 334
18.7.4 使用字段列表添加控件 334
18.8 将窗体转换为报表 335
第19章 使用窗体控件 336
19.1 设置控件属性 336
19.1.1 自定义默认属性 337
19.1.2 了解常用的控件和属性 337
19.2 创建计算控件 340
19.3 使用子窗体 340
19.4 窗体设计提示 341
19.4.1 使用“制表位”属性 341
19.4.2 标记复选框 342
19.4.3 设置组合框和列表框 342
19.5 了解高级窗体技术 343
19.5.1 使用页码和日期/时间控件 343
19.5.2 使用图像控件 344
19.5.3 控件变种 344
19.5.4 使用格式刷 345
19.5.5 提供更多最终用户帮助 345
19.5.6 添加背景图片 346
19.5.7 限制窗体上显示的记录 347
19.6 使用选项卡控件 347
19.7 使用对话框收集信息 349
19.7.1 设计查询 349
19.7.2 设置命令按钮 349
19.7.3 添加默认按钮 350
19.7.4 设置“取消”按钮 350
19.7.5 删除控制菜单 350
19.8 从头开始设计窗体 350
19.8.1 创建基本的窗体 351
19.8.2 创建子窗体 351
19.8.3 添加子窗体 352
19.8.4 更改窗体的行为 353
19.8.5 更改窗体的外观 354
第20章 使用Access报表显示数据 356
20.1 报表简介 356
20.1.1 标识不同类型的报表 356
20.1.2 区分报表和窗体 358
20.2 从头到尾创建报表 358
20.2.1 定义报表布局 359
20.2.2 收集数据 359
20.2.3 使用报表向导创建报表 359
20.2.4 打印或查看报表 368
20.2.5 保存报表 369
20.3 区段报表设计概念 369
20.3.1 “报表页眉”节 371
20.3.2 “页面页眉”节 371
20.3.3 “组页眉”节 371
20.3.4 “主体”节 371
20.3.5 “组页脚”节 372
20.3.6 “页面页脚”节 372
20.3.7 “报表页脚”节 372
20.4 从头开始创建报表 372
20.4.1 创建新报表并将其绑定到
查询 373
20.4.2 定义报表页面大小和布局 374
20.4.3 在报表上放置控件 375
20.4.4 调整节的大小 376
20.4.5 使用文本框 377
20.4.6 更改标签和文本框控件属性 381
20.4.7 放大和缩小文本框控件 382
20.4.8 排序和分组数据 382
20.4.9 对组中的数据进行排序 383
20.4.10 添加分页符 385
20.5 改进报表的外观 385
20.5.1 调整页面页眉 386
20.5.2 在组页眉中创建表达式 386
20.5.3 创建报表页眉 387
第21章 高级Access报表技术 389
21.1 分组和排序数据 389
21.1.1 按字母顺序分组数据 389
21.1.2 根据日期间隔进行分组 392
21.1.3 隐藏重复信息 394
21.1.4 隐藏页面页眉 396
21.1.5 每个组的页码从1开始 396
21.2 设置数据格式 396
21.2.1 创建编号列表 397
21.2.2 添加项目符号字符 399
21.2.3 在运行时添加强调效果 401
21.2.4 避免出现空白报表 402
21.2.5 在列之间插入垂直线 402
21.2.6 每隔n条记录添加一个空白行 404
21.2.7 奇偶页打印 405
21.2.8 在同一文本框中使用不同的格式 406
21.2.9 使标题居中 407
21.2.10 对齐控件标签 407
21.2.11 对控件进行细微调整 407
21.3 添加数据 407
21.3.1 向报表中添加更多信息 407
21.3.2 将用户的姓名添加到绑定报表中 408
21.4 添加更大的灵活性 409
21.4.1 在一个组合框中显示所有报表 409
21.4.2 基于查询的数据快速打印 410
21.4.3 在报表中使用蛇形列 410
21.4.4 使用双步报表处理 414
21.4.5 为控件分配唯一名称 415
第Ⅵ部分 Access编程基础知识
第22章 使用Access宏 419
22.1 宏简介 419
22.1.1 创建宏 420
22.1.2 将宏分配到事件 421
22.2 了解宏安全性 422
22.2.1 启用沙盒模式 422
22.2.2 信任中心 423
22.3 多操作宏 424
22.4 子宏 426
22.5 条件 429
22.5.1 使用条件打开报表 429
22.5.2 条件中的多个操作 430
22.6 临时变量 431
22.6.1 增强已经创建的宏 431
22.6.2 使用临时变量简化宏 432
22.6.3 在VBA中使用临时变量 434
22.7 错误处理和宏调试 434
22.7.1 OnError操作 435
22.7.2 MacroError对象 437
22.7.3 调试宏 437
22.8 嵌入的宏 438
22.9 宏与VBA语句 439
22.9.1 在宏与VBA之间做出选择 440
22.9.2 将现有宏转换为VBA 440
第23章 使用Access数据宏 442
23.1 数据宏简介 442
23.2 了解表事件 443
23.2.1 前期事件 443
23.2.2 后期事件 444
23.3 使用宏设计器处理数据宏 444
23.4 了解操作目录 446
23.4.1 程序流程 446
23.4.2 数据块 446
23.4.3 数据操作 447
23.5 创建第一个数据宏 448
23.6 管理宏对象 450
23.6.1 折叠和展开宏项目 450
23.6.2 移动宏条目 450
23.6.3 将宏保存为XML 451
23.7 了解数据宏的限制 451
第24章 Access VBA入门 453
24.1 VBA简介 453
24.2 了解VBA术语 454
24.3 了解VBA代码基础知识 455
24.4 创建VBA程序 455
24.4.1 模块和过程 455
24.4.2 在代码窗口中工作 460
24.5 了解VBA分支构造 464
24.5.1 分支 464
24.5.2 循环 468
24.6 使用对象和集合 470
24.6.1 对象入门 470
24.6.2 属性和方法 471
24.6.3 With语句 471
24.6.4 For Each语句 472
24.7 探索Visual Basic编辑器 473
24.7.1 立即窗口 473
24.7.2 工程资源管理器 474
24.7.3 对象浏览器 475
24.7.4 VBE选项 475
第25章 了解VBA数据类型和过程 479
25.1 使用变量 479
25.1.1 命名变量 480
25.1.2 声明变量 481
25.2 使用数据类型 484
25.2.1 比较隐式变量与显式变量 485
25.2.2 强制显式声明 486
25.2.3 给变量使用命名约定 487
25.2.4 了解变量作用域和生存期 488
25.2.5 使用常量 490
25.2.6 使用数组 492
25.3 了解Sub和函数 497
25.3.1 了解创建过程的位置 497
25.3.2 调用VBA过程 498
25.3.3 创建Sub 498
25.4 创建函数 500
25.4.1 处理参数 501
25.4.2 调用函数并传递参数 501
25.4.3 创建函数以计算销售税 503
25.5 使用命名参数简化代码 504
第26章 了解Access事件模型 506
26.1 编程事件 506
26.1.1 了解事件如何触发VBA代码 507
26.1.2 创建事件过程 507
26.2 识别常用事件 508
26.2.1 窗体事件过程 509
26.2.2 控件事件过程 511
26.2.3 报表事件过程 512
26.2.4 报表节事件过程 513
26.3 关注事件序列 514
26.3.1 了解常见的事件序列 514
26.3.2 编写简单的窗体和控件事件过程 515
第27章 调试Access应用程序 519
27.1 组织VBA代码 519
27.2 测试应用程序 520
27.2.1 测试函数 521
27.2.2 编译VBA代码 523
27.3 传统调试技术 524
27.3.1 使用MsgBox 524
27.3.2 使用Debug.Print 527
27.4 使用Access调试工具 528
27.4.1 使用立即窗口运行代码 528
27.4.2 使用断点中断执行 529
27.4.3 使用本地窗口查看变量 532
27.4.4 使用“监视”窗口设置监视 533
27.4.5 使用条件监视 534
27.4.6 使用“调用堆栈”窗口 535
27.5 捕获代码中的错误 535
27.5.1 了解错误捕获 536
27.5.2 Err对象 538
27.5.3 在过程中包含错误处理 538
第Ⅶ部分 高级Access编程技术
第28章 使用VBA代码访问数据 541
28.1 使用数据 541
28.2 了解DAO对象 543
28.3.1 DAO DBEngine对象 544
28.3.2 DAO Workspace对象 544
28.3.3 DAO Database对象 544
28.3.4 DAO TableDef对象 545
28.3.5 DAO QueryDef对象 546
28.3.6 DAO Recordset对象 548
28.3.7 DAO Field对象(记录集) 551
28.3 了解ADO对象 552
28.3.1 ADO Connection对象 552
28.3.2 ADO Command对象 554
28.3.3 ADO Recordset对象 555
28.4 编写VBA代码以更新表 556
28.4.1 使用ADO更新记录中的
字段 556
28.4.2 更新计算控件 557
28.4.3 添加新记录 561
28.4.4 删除记录 561
28.4.5 删除多个表中的相关记录 562
第29章 使用VBA进行高级数据访问 564
29.1 向窗体中添加未绑定组合框
以查找数据 564
29.1.1 使用FindRecord方法 565
29.1.2 使用书签 566
29.2 筛选窗体 569
29.2.1 使用代码 569
29.2.2 使用查询 570
第30章 自定义功能区 575
30.1 功能区层次结构 575
30.1.1 Access功能区的控件 576
30.1.2 特殊功能区功能 578
30.2 编辑默认功能区 578
30.3 使用快速访问工具栏 580
30.4 开发自定义功能区 581
30.4.1 功能区创建过程 581
30.4.2 使用VBA回调 582
30.5 创建自定义功能区 583
30.5.1 步骤1:设计功能区并
构建XML 583
30.5.2 步骤2:编写回调例程 584
30.5.3 步骤3:创建USysRibbons表 585
30.5.4 步骤4:向USysRibbons
中添加XML 586
30.5.5 步骤5:指定自定义功能区
属性 586
30.6 基本的功能区XML 588
30.7 添加功能区控件 589
30.7.1 指定imageMso 589
30.7.2 标签控件 589
30.7.3 按钮控件 590
30.7.4 分隔条 591
30.7.5 复选框控件 592
30.7.6 下拉列表控件 592
30.7.7 拆分按钮控件 594
30.8 将功能区附加到窗体和报表 595
30.9 彻底删除功能区 596
第31章 准备Access应用程序以进行分发 598
31.1 定义当前数据库选项 598
31.1.1 应用程序选项 599
31.1.2 导航选项 602
31.1.3 功能区和工具栏选项 603
31.1.4 名称自动更正选项 603
31.2 开发应用程序 603
31.2.1 构建规范 604
31.2.2 创建文档 605
31.2.3 在分发以前对应用程序进行测试 606
31.3 完善应用程序 607
31.3.1 为应用程序提供一致的外观 607
31.3.2 添加常见的专业组件 607
31.3.3 使应用程序易于启动 614
31.4 保护应用程序 615
31.4.1 在所有Visual Basic过程中使用错误捕获功能 616
31.4.2 将表与应用程序的其他内容分隔开来 618
31.4.3 构建坚固的窗体 618
31.4.4 验证用户输入 619
31.4.5 使用/runtime选项 619
31.4.6 对数据库进行加密或编码 620
31.4.7 保护Visual Basic代码 621
31.5 保护环境 622
31.5.1 在代码中设置启动选项 623
31.5.2 禁用启动跳过 623
31.5.3 设置属性值 624
31.5.4 获取属性值 625
第32章 将Access与SharePoint集成 626