第Ⅰ部分 Access构建块 3
第1章 数据库开发简介 3
1.1 Access的数据库术语 3
1.1.1 数据库 3
1.1.2 表 4
1.1.3 记录和字段 5
1.1.4 值 5
1.2 关系数据库 5
1.3 Access数据库对象 6
1.3.1 表 7
1.3.2 查询 7
1.3.3 数据输入和显示窗体 7
1.3.4 报表 7
1.3.5 宏和VBA 8
1.3.6 数据库对象 8
1.4 5步设计法 8
1.4.1 步骤1:总体设计——从概念到实际 8
1.4.2 步骤2:报表设计 9
1.4.3 步骤3:数据设计 9
1.4.4 步骤4:表设计 11
1.4.5 步骤5:窗体设计 13
第2章 Access简介 15
2.1 Access欢迎屏幕 15
2.2 如何创建空白桌面数据库 16
2.3 Access 2016界面 18
2.3.1 “导航”窗格 18
2.3.2 功能区 21
2.3.3 快速访问工具栏 22
第Ⅱ部分 了解Access表 27
第3章 创建Access表 27
3.1 表的类型 27
3.1.1 对象表 27
3.1.2 事务表 28
3.1.3 联接表 28
3.2 创建新表 28
3.2.1 设计表 30
3.2.2 使用“设计”选项卡 33
3.2.3 使用字段 35
3.3 创建tblCustomers表 41
3.3.1 使用自动编号字段 41
3.3.2 完成tblCustomers表 41
3.4 更改表设计 41
3.4.1 插入新字段 42
3.4.2 删除字段 42
3.4.3 更改字段位置 42
3.4.4 更改字段名称 42
3.4.5 更改字段大小 42
3.4.6 处理数据转换问题 43
3.4.7 分配字段属性 44
3.5 了解tblCustomers字段属性 55
3.6 设置主键 57
3.6.1 选择主键 57
3.6.2 创建主键 58
3.6.3 创建复合主键 58
3.7 为Access表编制索引 59
3.7.1 索引的重要性 60
3.7.2 多字段索引 61
3.7.3 何时对表编制索引 62
3.8 打印表设计 63
3.9 保存完成的表 64
3.10 操纵表 64
3.10.1 重命名表 65
3.10.2 删除表 65
3.10.3 复制数据库中的表 65
3.10.4 将表复制到另一个数据库 66
3.11 向数据库表中添加记录 66
3.12 了解附件字段 67
第4章 了解表关系 69
4.1 构建无懈可击的数据库 70
4.2 数据规范化和反规范化 71
4.2.1 第一范式 71
4.2.2 第二范式 74
4.2.3 第三范式 78
4.2.4 反规范化 79
4.3 表关系 80
4.3.1 连接数据 80
4.3.2 一对一 82
4.3.3 一对多 83
4.3.4 多对多 84
4.4 完整性规则 85
4.4.1 主键不能包含空值 87
4.4.2 所有外键值必须与对应的主键匹配 87
4.5 键 87
4.5.1 确定主键 88
4.5.2 查看主键带来的益处 89
4.5.3 指定主键 90
4.5.4 创建关系并实施参照完整性 92
4.5.5 查看所有关系 96
4.5.6 删除关系 96
4.5.7 遵从应用程序特定的完整性规则 97
第5章 使用Access表 99
5.1 了解数据表 99
5.2 查看数据表窗口 101
5.2.1 在数据表中移动 101
5.2.2 使用导航按钮 102
5.2.3 检查数据表功能区 102
5.3 打开数据表 104
5.4 输入新数据 104
5.4.1 保存记录 105
5.4.2 了解自动数据类型验证 106
5.4.3 了解属性如何影响数据输入 107
5.5 在数据表中导航记录 109
5.5.1 在记录之间移动 109
5.5.2 查找特定值 109
5.6 在数据表中更改值 111
5.6.1 手动替换现有值 111
5.6.2 更改现有值 112
5.7 使用撤消功能 113
5.8 复制和粘贴值 113
5.9 替换值 114
5.10 添加新记录 114
5.11 删除记录 115
5.12 显示记录 116
5.12.1 更改字段顺序 116
5.12.2 更改字段显示宽度 116
5.12.3 更改记录显示高度 117
5.12.4 更改显示字体 118
5.12.5 显示单元格网格线和隔行颜色 119
5.12.6 对齐列中的数据 120
5.12.7 隐藏和取消隐藏列 120
5.12.8 冻结列 121
5.12.9 保存更改的布局 121
5.12.10 保存记录 121
5.13 在数据表中排序和筛选记录 121
5.13.1 使用QuickSort对记录进行排序 122
5.13.2 筛选选定内容 122
5.13.3 按窗体筛选 124
5.14 聚合数据 125
5.15 打印记录 126
5.16 预览记录 126
第6章 导入和导出数据 127
6.1 Access如何使用外部数据 127
6.1.1 外部数据的类型 127
6.1.2 使用外部数据的方式 128
6.2 用于导入和导出的选项 130
6.3 如何导入外部数据 131
6.3.1 从其他Access数据库导入 132
6.3.2 从Excel电子表格导入 134
6.3.3 导入SharePoint列表 137
6.3.4 从文本文件导入数据 137
6.3.5 导入和导出XML文档 142
6.3.6 导入和导出HTML文档 145
6.3.7 导入除表之外的其他Access对象 146
6.3.8 导入Outlook文件夹 147
6.4 如何导出到外部格式 149
6.4.1 将对象导出到其他Access数据库中 149
6.4.2 通过ODBC驱动程序导出 149
6.4.3 导出到Word中 151
6.4.4 发布到PDF或XPS 152
第7章 链接到外部数据 155
7.1 链接外部数据 156
7.1.1 标识链接表 157
7.1.2 链接数据的限制 158
7.1.3 链接到其他Access数据库表 159
7.1.4 链接到ODBC数据源 161
7.1.5 链接到非数据库数据 161
7.2 使用链接表 166
7.2.1 设置视图属性 167
7.2.2 设置关系 167
7.2.3 优化链接表 167
7.2.4 删除链接表引用 168
7.2.5 查看或更改链接表的信息 168
7.2.6 刷新链接表 169
7.3 拆分数据库 170
7.3.1 拆分数据库的益处 170
7.3.2 了解将哪些对象放置到什么位置 172
7.3.3 使用数据库拆分器插件 172
第Ⅲ部分 使用Access查询 177
第8章 使用查询选择数据 177
8.1 查询简介 177
8.1.1 查询的功能 178
8.1.2 查询返回的内容 178
8.2 创建查询 179
8.2.1 向查询中添加字段 181
8.2.2 运行查询 183
8.3 使用查询字段 183
8.3.1 在QBE窗格中选择字段 183
8.3.2 更改字段顺序 184
8.3.3 在QBE窗格中调整列大小 184
8.3.4 删除字段 184
8.3.5 插入字段 185
8.3.6 隐藏字段 185
8.3.7 更改字段的排序顺序 185
8.4 向查询中添加条件 186
8.4.1 了解选择条件 187
8.4.2 输入简单字符串条件 187
8.4.3 输入其他简单条件 188
8.5 打印查询的记录集 189
8.6 保存查询 189
8.7 创建多表查询 189
8.7.1 查看表名 191
8.7.2 添加多个字段 191
8.7.3 了解多表查询的限制 191
8.7.4 克服查询限制 192
8.8 使用表窗格 193
8.8.1 查看联接线 193
8.8.2 移动表 193
8.8.3 删除表 194
8.8.4 添加更多表 194
8.9 创建和使用查询联接 194
8.9.1 了解联接 194
8.9.2 利用即席表联接 196
8.9.3 指定联接类型 196
8.9.4 删除联接 198
第9章 在Access中使用运算符和表达式 199
9.1 运算符简介 199
9.1.1 运算符的类型 200
9.1.2 运算符优先顺序 209
9.2 在查询中使用运算符和表达式 210
9.2.1 使用查询比较运算符 211
9.2.2 了解复杂条件 212
9.2.3 在选择查询中使用函数 214
9.2.4 在选择查询中引用字段 214
9.3 输入单值字段条件 215
9.3.1 输入字符(文本或备注型)条件 215
9.3.2 Like运算符和通配符 216
9.3.3 指定非匹配值 218
9.3.4 输入数值条件 219
9.3.5 输入True或False条件 220
9.3.6 输入OLE对象条件 220
9.4 在一个查询中使用多个条件 220
9.4.1 了解Or运算 220
9.4.2 使用Or运算符指定多个值 221
9.4.3 使用QBE窗格的“或”单元格 221
9.4.4 对In运算符使用值列表 222
9.4.5 使用And运算符指定范围 222
9.4.6 使用Between...And运算符 224
9.4.7 搜索Null数据 224
9.5 在多个字段中输入条件 225
9.5.1 在一个查询中跨字段使用And和Or运算符 225
9.5.2 跨一个查询的多个字段指定Or条件 226
9.5.3 在不同字段中一起使用And和Or运算符 228
9.5.4 不同行上的一个复杂查询 228
第10章 选择查询以外的查询形式 231
10.1 聚合查询 231
10.1.1 创建聚合查询 231
10.1.2 关于聚合函数 234
10.2 动作查询 238
10.2.1 生成表查询 238
10.2.2 删除查询 240
10.2.3 追加查询 243
10.2.4 更新查询 247
10.3 交叉表查询 249
10.3.1 使用交叉表查询向导创建交叉表查询 250
10.3.2 手动创建交叉表查询 254
10.4 优化查询性能 258
10.4.1 规范化数据库设计 258
10.4.2 在适当的字段中使用索引 259
10.4.3 通过改进查询设计进行优化 259
10.4.4 定期压缩和修复数据库 260
第Ⅳ部分 在Access中分析数据 263
第11章 在Access中转换数据 263
11.1 查找并删除重复记录 263
11.1.1 定义重复记录 263
11.1.2 查找重复记录 264
11.1.3 删除重复记录 267
11.2 常见的转换任务 269
11.2.1 填充空白字段 269
11.2.2 连接 269
11.2.3 更改大小写 271
11.2.4 删除字符串中的前导空格和尾随空格 273
11.2.5 查找并替换特定文本 273
11.2.6 在字符串中的关键位置添加自己的文本 274
11.2.7 使用字符标记分解字符串 276
第12章 使用计算和日期 281
12.1 在分析中使用计算 281
12.1.1 常见的计算场景方案 282
12.1.2 使用表达式生成器构造计算 284
12.1.3 常见的计算错误 288
12.2 在分析中使用日期 291
12.2.1 简单的日期计算 291
12.2.2 使用函数进行高级分析 292
第13章 执行条件分析 301
13.1 使用参数查询 301
13.1.1 参数查询的工作原理 302
13.i.2 参数查询的基本规则 303
13.1.3 使用参数查询 303
13.2 使用条件函数 307
13.2.1 IIf函数 307
13.2.2 Switch函数 312
13.2.3 比较IIf函数与Switch函数 312
第14章 使用Access SQL的基本知识 315
14.1 了解基本SQL 315
14.1.1 SELECT语句 316
14.1.2 WHERE子句 317
14.1.3 深入了解联接 317
14.2 了解高级SQL语句 319
14.2.1 使用Like运算符扩展搜索 319
14.2.2 在不分组的情况下选择唯一值和行 320
14.2.3 使用GROUPBY子句分组和聚合 320
14.2.4 使用ORDER BY子句设置排序顺序 321
14.2.5 使用AS子句创建别名 321
14.2.6 仅显示SELECT TOP或SELECT TOP PERCENT 322
14.2.7 通过SQL语句执行动作查询 324
14.2.8 使用TRANSFORM语句创建交叉表 324
14.3 使用特定于SQL的查询 325
14.3.1 使用UNION运算符合并数据集 325
14.3.2 使用CREATE TABLE语句创建表 327
14.3.3 使用ALTERTABLE语句操纵列 327
14.3.4 创建传递查询 329
第15章 子查询和域聚合函数 331
15.1 使用子查询增强分析 331
15.1.1 使用子查询的原因 332
15.1.2 子查询基本规则 332
15.1.3 在不输入SQL语句的情况下创建子查询 333
15.1.4 将IN和NOT IN运算符与子查询结合使用 335
15.1.5 将子查询与比较运算符结合使用 335
15.1.6 使用子查询作为表达式 336
15.1.7 使用相关子查询 337
15.1.8 在动作查询中使用子查询 338
15.2 域聚合函数 341
15.2.1 了解各种不同的域聚合函数 342
15.2.2 了解域聚合函数的语法 343
15.2.3 使用域聚合函数 344
第16章 在Access中运行描述性统计 349
16.1 基本描述性统计 349
16.1.1 使用聚合查询运行描述性统计 349
16.1.2 确定排名、众数和中值 350
16.1.3 从数据集中抽取随机抽样 354
16.2 高级描述性统计 356
16.2.1 计算百分点排名 356
16.2.2 确定记录的四分位数名次 357
16.2.3 创建频率分布 359
第Ⅴ部分 使用Access窗体和报表 363
第17章 创建基本的Access窗体 363
17.1 表述窗体 363
17.1.1 创建新窗体 364
17.1.2 了解特殊类型的窗体 368
17.1.3 调整窗体区域的大小 372
17.1.4 保存窗体 372
17.2 使用控件 373
17.2.1 对控件进行分类 373
17.2.2 添加控件 375
17.2.3 选择和取消选择控件 379
17.2.4 操纵控件 380
17.3 属性简介 387
17.3.1 显示属性表 387
17.3.2 了解属性表 388
17.3.3 更改控件的属性设置 389
17.3.4 命名控件标签及其标题 390
第18章 在Access窗体上使用数据 393
18.1 使用窗体视图 393
18.1.1 了解功能区的“开始”选项卡 394
18.1.2 在字段中导航 397
18.1.3 在窗体的记录中移动 398
18.2 更改窗体中的值 398
18.2.1 了解无法编辑的控件 399
18.2.2 使用图片和OLE对象 399
18.2.3 在长文本字段中输入数据 400
18.2.4 在日期字段中输入数据 400
18.2.5 使用选项组 401
18.2.6 使用组合框和列表框 402
18.2.7 切换到数据表视图 403
18.2.8 保存记录 403
18.3 打印窗体 403
18.4 使用窗体属性 404
18.4.1 使用“标题”属性更改标题栏文本 405
18.4.2 创建绑定窗体 406
18.4.3 指定如何查看窗体 406
18.4.4 删除记录选择器 407
18.4.5 了解其他窗体属性 407
18.5 添加窗体页眉或页脚 411
18.6 使用节属性 411
18.6.1 “可见”属性 411
18.6.2 “高度”属性 411
18.6.3 “背景色”属性 412
18.6.4 “特殊效果”属性 412
18.6.5 “何时显示”属性 412
18.6.6 打印属性 412
18.7 更改布局 412
18.7.1 更改控件的属性 413
18.7.2 设置Tab键次序 413
18.7.3 修改控件中文本的格式 414
18.7.4 使用字段列表添加控件 414
18.8 将窗体转换为报表 415
第19章 使用窗体控件 417
19.1 设置控件属性 417
19.1.1 自定义默认属性 418
19.1.2 了解常用的控件和属性 419
19.2 创建计算控件 422
19.3 使用子窗体 423
19.4 窗体设计提示 424
19.4.1 使用“制表位”属性 424
19.4.2 标记复选框 424
19.4.3 设置组合框和列表框 424
19.5 了解高级窗体技术 426
19.5.1 使用页码和日期/时间控件 426
19.5.2 使用图像控件 427
19.5.3 控件变种 427
19.5.4 使用格式刷 428
19.5.5 提供更多最终用户帮助 429
19.5.6 添加背景图片 429
19.5.7 限制窗体上显示的记录 431
19.6 使用选项卡控件 431
19.7 使用对话框收集信息 433
19.7.1 设计查询 434
19.7.2 设置命令按钮 434
19.7.3 添加默认按钮 435
19.7.4 设置“取消”按钮 435
19.7.5 删除控制菜单 435
19.8 从头开始设计窗体 435
19.8.1 创建基本的窗体 435
19.8.2 创建子窗体 436
19.8.3 添加子窗体 437
19.8.4 更改窗体的行为 438
19.8.5 更改窗体的外观 440
第20章 使用Access报表显示数据 443
20.1 报表简介 443
20.1.1 标识不同类型的报表 443
20.1.2 区分报表和窗体 446
20.2 从头到尾创建报表 446
20.2.1 定义报表布局 447
20.2.2 收集数据 447
20.2.3 使用报表向导创建报表 447
20.2.4 打印或查看报表 458
20.2.5 保存报表 459
20.3 区段报表设计概念 460
20.3.1 “报表页眉”节 462
20.3.2 “页面页眉”节 462
20.3.3 “组页眉”节 462
20.3.4 “主体”节 463
20.3.5 “组页脚”节 463
20.3.6 “页面页脚”节 463
20.3.7 “报表页脚”节 463
20.4 从头开始创建报表 464
20.4.1 创建新报表并将其绑定到查询 465
20.4.2 定义报表页面大小和布局 465
20.4.3 在报表上放置控件 467
20.4.4 调整节的大小 468
20.4.5 使用文本框 469
20.4.6 更改标签和文本框控件属性 474
20.4.7 放大和缩小文本框控件 475
20.4.8 排序和分组数据 476
20.4.9 对组中的数据进行排序 477
20.4.10 添加分页符 479
20.5 改进报表的外观 480
20.5.1 调整页面页眉 480
20.5.2 在组页眉中创建表达式 481
20.5.3 创建报表页眉 482
第21章 高级Access报表技术 485
21.1 分组和排序数据 486
21.1.1 按字母顺序分组数据 486
21.1.2 根据日期间隔进行分组 489
21.1.3 隐藏重复信息 491
21.1.4 隐藏页面页眉 493
21.1.5 每个组的页码从1开始 493
21.2 设置数据格式 494
21.2.1 创建编号列表 494
21.2.2 添加项目符号字符 497
21.2.3 在运行时添加强调效果 499
21.2.4 避免出现空白报表 500
21.2.5 在列之间插入垂直线 501
21.2.6 每隔n条记录添加一个空白行 502
21.2.7 奇偶页打印 504
21.2.8 在同一文本框中使用不同的格式 505
21.2.9 使标题居中 506
21.2.10 对齐控件标签 506
21.2.11 对控件进行细微调整 506
21.3 添加数据 507
21.3.1 向报表中添加更多信息 507
21.3.2 将用户的姓名添加到绑定报表中 507
21.4 添加更大的灵活性 508
21.4.1 在一个组合框中显示所有报表 508
21.4.2 基于查询的数据快速打印 509
21.4.3 在报表中使用蛇形列 510
21.4.4 使用双步报表处理 514
21.4.5 为控件分配唯一名称 516
第Ⅵ部分 Access编程基础知识 519
第22章 使用Access宏 519
22.1 宏简介 519
22.1.1 创建宏 520
22.1.2 将宏分配到事件 522
22.2 了解宏安全性 523
22.2.1 启用沙盒模式 523
22.2.2 信任中心 525
22.3 多操作宏 525
22.4 子宏 528
22.5 条件 531
22.5.1 使用条件打开报表 531
22.5.2 条件中的多个操作 533
22.6 临时变量 534
22.6.1 增强已经创建的宏 534
22.6.2 使用临时变量简化宏 536
22.6.3 在VBA中使用临时变量 537
22.7 错误处理和宏调试 538
22.7.1 OnError操作 539
22.7.2 MacroError对象 541
22.7.3 调试宏 542
22.8 嵌入的宏 543
22.9 宏与VBA语句 544
22.9.1 在宏与VBA之间做出选择 545
22.9.2 将现有宏转换为VBA 545
第23章 使用Access数据宏 547
23.1 数据宏简介 548
23.2 了解表事件 548
23.2.1 “前期”事件 549
23.2.2 “后期”事件 550
23.3 使用宏设计器处理数据宏 550
23.4 了解操作目录 552
23.4.1 程序流程 552
23.4.2 数据块 552
23.4.3 数据操作 553
23.5 创建你的第一个数据宏 555
23.6 管理宏对象 557
23.6.1 折叠和展开宏项目 557
23.6.2 移动宏项目 558
23.6.3 将宏保存为XML 558
23.7 了解数据宏的限制 559
第24章 Access VBA入门 561
24.1 VBA简介 562
24.2 了解VBA术语 563
24.3 了解VBA代码基础知识 563
24.4 创建VBA程序 564
24.4.1 模块和过程 564
24.4.2 在代码窗口中工作 570
24.5 了解VBA分支构造 574
24.5.1 分支 575
24.5.2 循环 579
24.6 使用对象和集合 581
24.6.1 对象入门 582
24.6.2 属性和方法 583
24.6.3 With语句 584
24.6.4 For Each语句 585
24.7 探索Visual Basic编辑器 586
24.7.1 立即窗口 586
24.7.2 工程资源管理器 587
24.7.3 对象浏览器 588
24.7.4 VBE选项 588
第25章 了解VBA数据类型和过程 593
25.1 使用变量 593
25.1.1 命名变量 595
25.1.2 声明变量 595
25.2 使用数据类型 599
25.2.1 比较隐式变量与显式变量 601
25.2.2 强制显式声明 602
25.2.3 使用命名约定 603
25.2.4 了解变量作用域和生存期 604
25.2.5 使用常量 607
25.2.6 使用数组 609
25.3 了解Sub和函数 614
25.3.1 了解创建过程的位置 615
25.3.2 调用VBA过程 616
25.3.3 创建Sub 616
25.4 创建函数 619
25.4.1 处理参数 619
25.4.2 调用函数并传递参数 620
25.4.3 创建函数以计算销售税 621
25.5 使用命名参数简化代码 623
第26章 了解Access事件模型 625
26.1 编程事件 625
26.1.1 了解事件如何触发VBA代码 626
26.1.2 创建事件过程 626
26.2 识别常用事件 627
26.2.1 窗体事件过程 628
26.2.2 控件事件过程 631
26.2.3 报表事件过程 632
26.2.4 报表节事件过程 633
26.3 关注事件序列 634
26.3.1 了解常见的事件序列 635
26.3.2 编写简单的窗体和控件事件过程 636
第27章 调试Access应用程序 641
27.1 组织VBA代码 642
27.2 测试应用程序 643
27.2.1 测试函数 643
27.2.2 编译VBA代码 646
27.3 传统调试技术 647
27.3.1 使用MsgBox 647
27.3.2 使用Debug.Print 651
27.4 使用Access调试工具 652
27.4.1 使用立即窗口运行代码 652
27.4.2 使用断点中断执行 653
27.4.3 使用本地窗口查看变量 657
27.4.4 使用“监视”窗口设置监视 658
27.4.5 使用条件监视 659
27.4.6 使用“调用堆栈”窗口 660
27.5 捕获代码中的错误 661
27.5.1 了解错误捕获 661
27.5.2 Err对象 664
27.5.3 在过程中包含错误处理 664
第Ⅶ部分 高级Access编程技术 669
第28章 使用VBA代码访问数据 669
28.1 使用数据 669
28.2 了解ADO对象 672
28.2.1 ADO Connection对象 673
28.2.2 ADO Command对象 676
28.2.3 ADO Recordset对象 677
28.3 了解DAO对象 682
28.3.1 DAO DBEngine对象 683
28.3.2 DAO Workspace对象 684
28.3.3 DAO Database对象 684
28.3.4 DAO TableDef对象 685
28.3.5 DAO QueryDef对象 686
28.3.6 DAO Recordset对象 687
28.3.7 DAO Field对象(记录集) 689
28.4 编写VBA代码以更新表 690
28.4.1 使用ADO更新记录中的字段 691
28.4.2 更新计算控件 694
28.4.3 添加新记录 698
28.4.4 删除记录 698
28.4.5 删除多个表中的相关记录 699
第29章 使用VBA进行高级数据访问 703
29.1 向窗体中添加未绑定组合框以查找数据 703
29.1.1 使用FindRecord方法 705
29.1.2 使用书签 706
29.2 筛选窗体 709
29.2.1 使用代码 709
29.2.2 使用查询 710
第30章 自定义功能区 717
30.1 功能区层次结构 717
30.1.1 Access功能区的控件 718
30.1.2 特殊功能区功能 720
30.2 编辑默认功能区 721
30.3 使用快速访问工具栏 723
30.4 开发自定义功能区 725
30.4.1 功能区创建过程 725
30.4.2 使用VBA回调 726
30.5 创建自定义功能区 727
30.5.1 步骤1:设计功能区并构建XML 727
30.5.2 步骤2:编写回调例程 729
30.5.3 步骤3:创建USysRibbons表 730
30.5.4 步骤4:向USysRibbons中添加XML 731
30.5.5 步骤5:指定自定义功能区属性 732
30.6 基本的功能区XML 733
30.7 添加功能区控件 735
30.7.1 指定imageMso 735
30.7.2 标签控件 735
30.7.3 按钮控件 737
30.7.4 分隔条 737
30.7.5 复选框控件 738
30.7.6 下拉列表控件 739
30.7.7 拆分按钮控件 741
30.8 将功能区附加到窗体和报表 742
30.9 彻底删除功能区 743
第31章 准备Access应用程序以进行分发 745
31.1 定义当前数据库选项 746
31.1.1 应用程序选项 746
31.1.2 导航选项 750
31.1.3 功能区和工具栏选项 751
31.1.4 名称自动更正选项 752
31.2 开发应用程序 752
31.2.1 构建规范 752
31.2.2 创建文档 754
31.2.3 在分发以前对应用程序进行测试 755
31.3 完善应用程序 756
31.3.1 为应用程序提供一致的外观 756
31.3.2 添加常见的专业组件 757
31.3.3 使应用程序易于启动 765
31.4 保护应用程序 767
31.4.1 在所有Visual Basic过程中使用错误捕获 767
31.4.2 将表与应用程序的其他内容分隔开来 770
31.4.3 构建防弹窗体 770
31.4.4 验证用户输入 771
31.4.5 使用/runtime选项 771
31.4.6 对数据库进行加密或编码 772
31.4.7 保护Visual Basic代码 774
31.5 保护环境 775
31.5.1 在代码中设置启动选项 775
31.5.2 禁用启动跳过 776
31.5.3 设置属性值 777
31.5.4 获取属性值 778
第Ⅷ部分 Access与Windows SharePoint Services 781
第32章 将Access与SharePoint集成 781
32.1 SharePoint简介 781
32.2 了解SharePoint网站 782
32.2.1 了解SharePoint文档 782
32.2.2 了解SharePoint列表 783
32.3 在Access和SharePoint之间共享数据 784
32.3.1 链接到SharePoint列表 784
32.3.2 导入SharePoint列表 786
32.3.3 将Access表导出到SharePoint 787
32.3.4 将Access表迁移到SharePoint 788
32.4 使用SharePoint模板 790
第33章 将Access应用程序部署到SharePoint 793
33.1 了解Access中的Web发布 793
33.1.1 了解Access Services 794
33.1.2 选择SharePoint的原因 795
33.2 检查Access Web应用程序限制 796
33.2.1 Access Services的限制 796
33.2.2 事务限制 797
33.3 将自定义Access应用程序发布到SharePoint 798
33.3.1 准备Access数据模型 798
33.3.2 初始化和配置自定义Web应用程序 800
33.3.3 启动和管理Web应用程序 808