《Access 2000中文版高级编程》PDF下载

  • 购买积分:28 如何计算积分?
  • 作  者:(美)(F.S.巴克)F.Scott Barker著;潇湘工作室译
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2000
  • ISBN:7115083746
  • 页数:1113 页
图书介绍:

第一部分 编程基础 1

第1章 宏与代码 3

1.1 何时使用代码代替宏 4

1.1.1 何时用宏 4

1.1.2 何时用代码 4

1.2 宏到代码的转换 5

1.2.1 使用DoCmd对象 5

1.2.2 与宏命令等价的代码 7

1.3 将现有宏转换为代码 8

1.4 小结 12

2.1 编程初步 13

第2章 使用VBA编写代码 13

2.1.1 使用代码模块 14

2.1.2 声明变量 17

2.1.3 声明过程 21

2.1.4 控制程序流 27

2.1.5 代码注释 30

2.1.6 错误处理 30

2.1.7 本书的编程风格 31

2.2 VBA初步 31

2.2.1 对象基础 31

2.2.2 使用对象浏览器 32

2.3 使用对象编程 34

2.3.1 关键字Public 35

2.3.2 关键字Private 35

2.4 使用属性和方法 35

2.4.1 使用现有的属性 35

2.4.2 使用现有的方法 38

2.4.3 使用命名参数 38

2.4.4 将对象赋值给变量 39

2.5 使用集合 41

2.5.1 计算元素的数量 42

2.5.2 访问集合元素 42

2.5.3 对集合元素循环 43

2.6 定制窗体 44

2.6.1 编写定制的属性 45

2.6.2 编写值为对象的属性 48

2.6.3 编写定制的方法 48

2.7 编写类模块 49

2.7.1 创建外界支持的对象 49

2.7.2 创建类模块 50

2.7.3 使用类模块 52

2.8 小结 54

第3章 做出选择:MDB或ADP,DAO或ADO 55

3.1 使用MDB还是ADP 55

3.1.1 两者各自用到的对象 56

3.2 使用DAO还是ADO 58

3.3 小结 60

第4章 使用Access集合 61

4.1 创建定制的集合 61

4.1.1 定义新集合 62

4.1.2 添加集合元素 62

4.1.3 删除集合元素 63

4.2 比较定制的集合和数组 64

4.2.1 创建整数集合 64

4.2.2 创建整数数组 65

4.3 访问Access对象模型 66

4.2.3 集合的高级用法 66

4.3.1 使用Application对象 67

4.3.2 使用References集合 80

4.3.3 使用Forms和Reports集合 80

4.4 通过编程实现同一窗体的多个副本 83

4.4.1 支持多窗体实例 84

4.4.2 检查Employees窗体的代码 84

4.4.3 自动关闭Employees窗体 86

4.5 小结 87

第5章 使用DAO 88

5.1 理解DAO 88

5.1.1 了解数据库的内部构造 89

5.1.3 进入数据库 90

5.1.2 DAO初步 90

5.1.4 检查数据库 92

5.1.5 检查表的属性 93

5.1.6 检查查询类型 94

5.2 使用DAO创建数据库 95

5.2.1 创建Database对象 96

5.2.2 复制表结构 99

5.2.3 使用Field对象 102

5.2.4 复制查询 102

5.2.5 复制关系 104

5.2.6 复制数据 106

5.3 使用事务加快处理速度 108

5.4 使用定制的属性 109

5.5 小结 111

第6章 ActiveX数据库对象 112

6.1 查看对象模型 112

6.1.1 ADODB 2.1对象模型 114

6.1.2 ADOX 2.1 for DDL and Security对象模型 115

6.1.3 JRO 2.1对象模型 115

6.2 引用类型库 115

6.3 打开数据库的连接 118

6.3.1 与当前数据库连接 118

6.3.2 与另一个数据库连接 119

6.4.1 打开简单的记录集 120

6.4 使用ADO创建记录集 120

6.4.2 循环搜索和编辑记录集 122

6.4.3 创建永久记录集 124

6.4.4 使用RecordCount,BOF和EOF属性 125

6.4.5 检查记录集支持的操作 126

6.4.6 复制记录集 126

6.4.7 书签 126

6.5 使用ADO查询 127

6.5.1 创建新查询 127

6.5.2 创建参数查询 128

6.5.3 针对参数查询打开记录集 128

6.5.4 执行批量查询 129

6.5.5 修改现有的查询 130

6.5.6 删除查询 131

6.6 用ADO操作表 131

6.6.1 查看Tables集合 131

6.6.2 使用字段和索引创建新表 133

6.6.3 通过加入索引来修改现有表 136

6.7 小结 136

第7章 使用VBA处理Access中的错误 138

7.1 Access中的错误消息 138

7.2 使用错误处理程序的不同方法 139

7.3 Access运行阶段时的错误处理 139

7.3.1 使用On Error命令 139

7.3.3 使用Resume,Resume Next和Resume LineLabel 141

7.3.2 使用Exit SublFunction命令 141

7.4 使用ERR和ERROR对象 145

7.4.1 Err对象的Clear方法 145

7.4.2 Err对象的Raise方法 146

7.5 使用Errors集合 149

7.6 创建用户定义的错误 154

7.7 使用定制的错误日志追踪错误 156

7.7.1 错误日志例程的声明节 156

7.7.2 调用错误日志的错误处理程序的示例 157

7.7.3 每个错误的跟踪信息 158

7.7.4 检查实际的错误日志代码 159

7.7.5 首先记录到后端,必要时记录到前端 162

7.7.6 使用错误处理程序更新后端 163

7.8 创建集中式错误处理例程 165

7.9 错误处理问题的最后回顾 171

7.9.1 注意环境开关 171

7.9.2 使用错误处理程序回卷事务 174

7.9.3 使用窗体的On Error事件 175

7.9.4 嵌套错误处理程序 177

7.9.5 错误处理的新选项 177

7.10 小结 178

第二部分 操作和显示数据 179

8.1 Access使用查询的位置 181

第8章 用查询最大限度地利用数据 181

8.1.1 在窗体或报表的记录源属性中使用查询 182

8.1.2 设置用户使用查询的权限 183

8.1.3 使用命名约定和查询文档 185

8.2 运用选择查询:使用查询设计网格 187

8.2.1 表的联接 188

8.2.2 同一个表使用两次(自联接) 189

8.2.3 使用Access的自动查阅功能 191

8.3 运用操作查询:力量的源泉 193

8.3.1 生成表查询(SELECT INTO) 193

8.3.2 追加查询 194

8.4 使用高级的查询操作 195

8.4.1 总计查询 195

8.3.4 删除查询(DELETE) 195

8.3.3 更新查询(UPDATE...SET) 195

8.4.2 在单独或所有选项中使用联合查询 198

8.4.3 嵌套查询 198

8.4.4 子查询 200

8.4.5 产生关于对象的查询(DDL) 200

8.5 用VBA增强功能 200

8.5.1 用VBA创建更快的查询 200

8.5.2 窗体查询 201

8.5.3 生成临时的查询对象QueryDef 210

8.5.5 在VBA中实现参数查询 211

8.5.4 使用DoCmd对象的RunSQL方法 211

8.6 用查询产生报表与窗体 212

8.7 用查询解决问题 213

8.7.1 分组以获得百分比 213

8.7.2 查找并删除重复的记录 215

8.7.3 用组的嵌套彻底解决问题 217

8.7.4 区分新旧记录 217

8.7.5在交叉表查询中使用“总计”行 220

8.8 查询过程的结构 224

8.8.1 定义查询 224

8.8.2 编译 224

8.9.1 应用Rushmore技术 225

8.8.3 准备执行计划(优化) 225

8.9 Jet的优化方法 225

8.9.2 检查群聚的基本索引 226

8.9.3 使用预读功能 228

8.9.4 用SetOption命令在注册表中设置Jet 228

8.10 优化技术 230

8.10.1 用表关系提高性能 230

8.10.2 添加索引 230

8.10.3 改变数据库结构以提高性能 231

8.11.2 诊断慢速查询 232

8.11.1 性能调整的陷阱 232

8.10.4 优化联接性能 232

8.11 使用非常规的优化技术 232

8.11.3 用查询设计网格以解决模糊字段的引用问题 233

8.12 使用分析器向导 233

8.12.1 表分析器向导 234

8.12.2 性能分析器向导 234

8.12.3 文档管理器 236

8.13 小结 236

第9章 创建功能强大的窗体 237

9.1 增强窗体性能 237

9.1.1 增强窗体性能 237

9.2.1 使用窗体的记录集属性 238

9.2 使用Access 2000最新的窗体特性 238

9.2.2 使用Dirty事件 240

9.3 利用其他窗体特性 241

9.3.1 指定启动的Splash Screen窗体 241

9.3.2 使用窗体的背景属性 241

9.4 利用Openargs和tab属性重用窗体执行标准任务 244

9.5 增强选项卡窗体的性能 254

9.6 小结 256

第10章 用控件扩展窗体的功能 257

10.1 为窗体中的字段设置查阅属性 257

10.2.1 使用组合框向导 259

10.2 充分利用组合框 259

10.2.2 在向导外对组合框编程 261

10.2.3 使用联合查询以显示一个或所有记录 263

10.2.4 在子窗体中使用SQL的UNION语句查询所有记录 266

10.2.5 在组合框控件外显示组合框的列 268

10.2.6 根据用户的输入添加新的组合框选项 271

10.3 使用本机的Access选项卡控件 273

10.3.1 本机的选项卡控件概述 273

10.3.2 创建并编辑新的选项卡控件 275

10.3.3 在选项卡控件中移动页 277

10.3.4 在选项卡页上添加控件 278

10.3.5 为选项卡控件编程 279

10.4 更改Access控件 280

10.4.1 在窗体设计的时候,更改Access控件 281

10.4.2 在运行的时候,使用VBA更改控件 281

10.5 对多重选择列表框编程 284

10.5.1 与多重选择有关的列表框属性 284

10.5.2 在多重选择列表框中使用VBA来操作选中项 285

10.6 使用子窗体、子报表向导 291

10.7 对控件提供电子表格的光标移动方式 292

10.7.1 研究问题 292

10.7.2 解决问题 293

10.8.1 检查选项组菜单窗体的组成 297

10.8 用代码操纵控件 297

10.8.2 ManipulatingControlsExample窗体 298

10.8.3 查看窗体后面的代码 299

10.9 小结 304

第11章 创建强大的报表 305

11.1 对汇总、细节以及综合这二者的报表建立同一报表 305

11.2 用按窗体查询来创建同一报表的动态分组 312

11.3 复杂的特征:创建迂回报表 316

11.3.1 查看前面的报表 318

11.3.2 “列”页面的属性 318

11.4 用动态列创建交叉表查询的报表 320

11.3.3 报表之后的工作 320

11.4.1 报表使用的按窗体查询 321

11.4.2 报表使用的交叉表查询 323

11.4.3 DynamicColumnsExample报表 325

11.5 使用多项选择列表框选择多项打印主题 329

11.5.1 MultiSelectCategoryExample报表 329

11.5.2 多项选择列表框窗体 330

11.5.3 多项选择列表框窗体的程序清单 331

11.6 为选择分组依据项创建类似向导的界面 336

11.6.1 核心表:WizExReports和WizExElements 338

11.6.2 使用WizExReports窗体 339

11.6.3 为新报表使用组元素向导 348

11.7.1 DynamicFormattingExample报表 350

11.7 动态格式化报表 350

11.7.2 报表的条件格式化 352

11.8 小结 356

第12章 处理数据访问页 358

12.1 为什么使用数据访问页 358

12.1.1 理解数据访问页的结构化方式 359

12.1.2 浏览控件 361

12.1.3 数据访问页与窗体和报表的比较 362

12.1.4 哪类用户需要数据访问页 364

12.2 省时的数据访问页向导 364

12.2.1 使用“自动创建数据页:纵栏式” 364

12.2.2 使用数据页向导 365

12.3 创建及完善简单的数据访问页 369

12.3.1 数据访问页的字段列表 369

12.3.2 添加超级链接 370

12.3.3 在数据访问页中使用表达式 374

12.3.4 使用绑定的组合框和列表框 375

12.3.5 使用主题格式化 378

12.3.6 数据访问页所使用的其他控件 378

12.4 分组的数据访问页:Web报表 380

12.4.1 创建基本页 380

12.4.2 在数据访问页中创建关系 380

12.4.3 升级分组级别 381

12.4.4 添加页眉节 382

12.4.6 使用组筛选控件的组合框 383

12.4.5 在分区带显示的数据访问页中查看数据层次 383

12.5 查找其他资源 385

12.6 小结 385

第三部分 利用互操作性来扩展Access 387

第13章 用自动化功能和DDE驱动Office应用程序 389

13.1 理解自动化功能 389

13.2 检查Office产品的对象模型 390

13.3 应用自动化功能 391

13.3.1 在VBA中声明对象变量 392

13.3.3 使用GetObject()函数 394

13.3.2 使用GreateObject()函数 394

13.4 应用自动化功能从Access运行其他应用程序 395

13.4.1 在Access中调用Word 396

13.4.2 在Access中调用Excel 402

13.4.3 在Access中调用Microsoft Graph 404

13.4.4 在Access中调用Microsoft Project 407

13.5 使用自动化功能在Microsoft Project中驱动Access 410

13.6 应用自动化功能在Access中调用Outlook 415

13.6.1 创建Outlook邮件项目 416

13.6.2 在Access中创建Outlook任务项 417

13.6.3 从Access中向Outlook中输入联系人 419

13.6.4 从Access中删除Outlook中的联系人 423

13.6.5 从Access中创建Outlook日历条目 424

13.7 用DDE调用其他应用程序 425

13.7.1 理解Access中用到的DDE命令 426

13.7.2 用DDE执行复杂的Word示例 429

13.8 小结 432

第14章 编程实现ActiveX控件功能 433

14.1 理解ActiveX Windows通用控件 433

14.1.1 使用TabStrip控件 434

14.1.2 使用Access选项卡和使用ActiveX TabStrip控件的区别 436

14.2 ImageList控件详述 438

14.2.1 在设计阶段添加图像 438

14.2.2 在运行阶段向InageList控件中添加图像 441

14.3 用ListView控件仿效Windows 95的资源管理器 443

14.3.1 查看ListView控件的不同视图 443

14.3.2 查看ListView控件的主要属性组 444

14.3.3 人工设置ListView控件 445

14.3.4 使用VBA创建和填充ListView控件 446

14.4 应用ProgressBar控件显示任务的进程 448

14.4.1 使用SysCmd()显示Access进度条 448

14.4.2 使用ActiveXProgressBar控件 450

14.5 使用Slider控件在运行阶段设置文本框尺寸 452

14.6 应用Microsoft Rich TextBox控件提供所见即所得的功能 455

14.6.2 Microsoft Rich Textbox控件的代码 456

14.6.1 Rich Textbox控件的属性 456

14.7 用StatusBar控件创建单独窗体的状态栏 459

14.7.1 StatusBar Panels集合的属性 460

14.7.2 在运行阶段设置StatusBar属性 461

14.8 用ToolBar控件丰富窗体上的工具栏 462

14.9 应用TreeView控件查看数据文件管理器的样式 465

14.10 小结 469

第15章 使用API调用来扩展Access功能 470

15.1.2 内存管理 471

15.2 检查API调用的语法 471

15.1.3 常用的DLL 471

15.1.1 执行链接 471

15.1 理解动态链接库 471

15.3 查找API的声明 474

15.4 查看可能的API调用 475

15.4.1 使用API Viewer定位调用 475

15.4.2 剪切和粘贴API Viewer中的调用 476

15.4.3 在Win32api.txt文件中查找API调用 477

15.5 使用API调用的注意事项 479

15.5.1 从头开始创建自己的API声明 479

15.5.2 将16位API调用转换为32位API调用 479

15.6 API调用的例子 480

15.6.2 查看所使用的窗体 481

15.6.1 查找可执行应用程序的文件 481

15.6.3 在Access中连接和断开网络驱动器 486

15.6.4 显示当前用户和计算机名 492

15.7 在应用程序中显示相关的文件夹 494

15.8 使用Open File对话框的API调用 497

15.9 小结 502

第16章 使用类模块和集合来扩展VBA的库功能 503

16.1 第一个方案 503

16.1.1 Bookmark Tracker的特性 504

16.1.2 Bookmark Tracker的基本对象 505

16.1.3 开始使用类模块 506

16.2.1 查看特征集 519

16.1.4 用Bookmark Tracker来包装 519

16.2 管理同一窗体的多个实例 519

16.2.2 打开相同窗体的副本所使用的窗体 520

16.2.3 检查隔离相同窗体的多个副本所使用的代码 521

16.3 小结 524

第17章 创建向导和加载项 525

17.1 理解Access向导、生成器和加载项 525

17.2 查看向导和加载项的注册表条目 526

17.3 创建自己的加载项 528

17.3.1 使用Bookmark Tracker Wizard 529

17.3.2 在Access 2000中安装加载项 532

17.3.3 对Bookmark Tracker Wizard编程 535

17.3.4 结束向导 546

17.4 使用Access代码库 553

17.4.1 代码库的优缺点 553

17.4.2 考虑库数据库的位置 553

17.4.3 设置库的引用 554

17.4.4 在“对象浏览器”中查看库例程 555

17.4.5 库编码问题 555

17.5 小结 557

第18章 使用VBA操作注册表 558

18.1 Windows注册表的历史 558

18.1.1在应用程序中使用Windows注册表 559

18.1.2 组成注册表的部分 561

18.1.3 操作注册表的工具 562

18.2 使用VBA中的注册表命令 564

18.3 用注册表的API调用来执行任务 570

18.3.1 处理多个后端数据库 571

18.3.2 样本应用程序 571

18.3.3 使用实际代码 573

18.4 小结 588

第19章 Access的Internet应用 589

19.1 Access的超级链接特征 589

19.1.1 操作未绑定的超级链接控件 590

19.1.3 查看超级链接数据类型 594

19.1.2 维护数据库的超级链接基础 594

19.1.4 使用IsHyperlink属性向界面添加超级链接 596

19.1.5 通过编程用Follow、FollowHyperlink以及HyperlinkPart方法使用超级链接 597

19.2 Access超级链接选项 601

19.3 向HTML文档导入和导出Access对象的简便方法 602

19.3.1 使用“导出”来导出到HTML 602

19.3.2 导入和链接HTML文件 605

19.4 发布为其他Web文件格式 607

19.5 小结 608

第四部分 添加专业外观和分布应用程序 609

20.1 使用命令栏 611

第20章 编程Office命令栏和Office助手 611

20.1.1“自定义”对话框的“工具栏”页 612

20.1.2“自定义”对话框的“命令”页 613

20.1.3“自定义”对话框的“选项”选项卡 614

20.1.4 通过用户界面创建工具栏 615

20.1.5 添加命令栏到窗体 620

20.2 通过VBA使用命令栏 621

20.2.1 检查命令栏对象模型 622

20.2.2 编程修改命令栏 622

20.3 使用Office助手 629

20.3.1 Office助手对象模型 631

20.3.2 使用Office助手作为窗体的帮助 631

20.4 FileSearch对象 639

20.4.1 使用简单的例子 640

20.4.2 使用FileSearch属性 641

20.4.3 使用PropertyTests集合 642

20.4.4 使用Property对象的复杂例子 644

20.5 小结 647

第21章 应用程序安全性 648

21.1 保护应用程序安全的目的 648

21.1.1 保护敏感数据 649

21.1.2 保护开发人员的代码 649

21.2 Access 2000的安全性 649

21.2.1 system.mdw的模型和函数 649

21.2.2 共享级安全:数据库密码 650

21.2.3 用户级安全:Access真正的安全系统 651

21.2.4 用户和组 652

21.2.5 权限 652

21.2.6 我有权限吗 654

21.2.7 理解所有者 654

21.2.8 为添加的保护加密数据库 654

21.2.9 system.mdw文件 656

21.3 安全性用户界面 657

21.3.1 使用PID、SID、WID和密码 657

21.3.2 创建新用户 659

21.3.3 创建新工作组 660

21.3.5 向组中添加用户 661

21.3.4 删除用户和组 661

21.3.7 从用户帐号中删除密码 662

21.3.6 为用户帐号添加密码 662

21.3.8 设置对象权限 663

21.3.9 保护VBE中的模块 664

21.3.10 设置数据库权限 665

21.3.11 改变对象的所有者 665

21.3.12 加密数据库 667

21.3.13 创建工作组信息文件 667

21.3.14 手工保护数据库 668

21.3.15 设置哪些权限 670

21.4 Access安全性的便利工具 671

21.3.16 取消数据库安全保护 671

21.4.1 使用安全性向导 672

21.4.2 在Access中打印用户和组 672

21.4.3 读取安全性白皮书 672

21.4.4 使用其他安全性资源 673

21.5 避免Access安全性的常见陷阱 673

21.5.1 设计安全 673

21.5.2 用默认帐号创建对象 673

21.5.3 多用户环境中保护链接表 674

21.5.4 用所有者权限运行 674

21.5.6 用Microsoft Office Developer发布安全的应用程序 675

21.5.5 同步复制环境的安全性 675

21.5.7 创建.mde文件发布安全的应用程序 676

21.6 用代码管理安全性 676

21.6.1 使用DAO进行安全性编程 676

21.6.2 通过代码创建新用户 678

21.6.3 通过代码删除用户 679

21.6.4 通过代码设置数据库密码 680

21.6.5 通过代码创建组 681

21.6.6 通过代码删除组 682

21.6.7 通过代码添加用户到组 683

21.6.8 通过代码创建对象的所有者 685

21.6.9 通过代码为对象设置权限 686

21.6.10 通过代码检查权限 687

21.6.11 通过代码确定登录身份 689

21.6.12 拒绝用户创建数据库的能力 689

21.6.13 拒绝表和查询对象的创建 691

21.6.14 通过代码压缩、加密和解密数据库 692

21.6.15 通过代码禁用特殊键 692

21.7 使用安全的样本数据库:Chap21s.mdb 694

21.8 小结 694

第五部分 管理数据库 697

第22章 处理多用户环境 699

22.1 多用户术语 699

22.2 Access多用户处理 700

22.2.1 默认记录锁定 701

22.2.2 默认打开模式:共享与独占 701

22.2.3 更新重试的次数 703

22.2.4 ODBC刷新间隔 703

22.2.5 刷新间隔 704

22.2.6 更新重试时间间隔 704

22.3 一两个数据库包容器:知道放置的位置 704

22.3.1 各组件去向概述 704

22.3.2 拆分数据库的优缺点 705

22.3.4 使用数据库拆分器向导 707

22.3.3 手工拆分数据库 707

22.4 内建锁定模式 708

22.4.1 使用记录与页级锁定 709

22.4.2 锁定所有记录 710

22.4.3 锁定编辑记录 710

22.4.4 使用“不锁定”锁定模式 711

22.4.5 在VBA中使用锁定模式 711

22.4.6 使用可选锁定方案 712

22.5 在VBA中使用非绑定窗体 713

22.5.1 为处理非绑定窗体创建例程 714

22.5.2 使用样本窗体的步骤 716

22.5.3 使用支持例程 718

22.5.4 处理DAO版本 720

22.5.5 设置样本应用程序的ADO版本 736

22.6 多用户错误处理编程 747

22.7 用ADO获取登录用户列表 751

22.8 小结 753

第23章 数据库同步复制 755

23.1 数据库同步复制的概念 756

23.1.1 同步复制设计目标 756

23.1.2 典型的同步复制应用程序 757

23.2 Jet同步复制工具 757

23.2.1 公文包 757

23.2.2 Access菜单 759

23.2.3 Replication Manager 760

23.2.4 JRO编程 761

23.3 数据库转换为副本 761

23.4 同步副本 766

23.4.1 设计母版和副本 767

23.4.2 恢复设计母版 768

23.4.3 同步复制可视化 768

23.4.4 同步复制系统的列、表及其他问题 769

23.4.5 使用副本集 770

23.5.1 单连接列表 771

23.5.2 星型和中心拓扑 771

23.5 副本集拓扑 771

23.6 星型和中心自动同步 772

23.7 分布可同步复制的应用程序 774

23.7.1 使用可同步复制的和非可同步复制的对象 774

23.7.2 部分副本 775

23.8 同步复制后端和前端应用程序 778

23.9 处理同步复制冲突 779

23.9.1 数据冲突 779

23.9.2 使用Access冲突解决器 780

23.9.3 使用另一个冲突解决算法 782

23.9.4 各种同步复制冲突 785

23.10 复制同步器 786

23.10.1 同步阶段 791

23.10.2 直接和间接同步 791

23.10.3 预定和随选同步 791

23.10.4 在Internet上同步副本 792

23.10.5 处理计数字段 792

23.10.6 使用同步复制的只读属性 793

23.10.7 执行同步复制鉴别修正 794

23.10.8 使用最后的同步伙伴 794

23.10.9 对同步复制的数据库使用压缩工具 795

23.10.10 确定是否备份副本 795

23.11 副本集从Access 97升级为Access 2000 795

23.14 创建成功的同步复制应用程序 796

23.13 同步复制数据库使用MDE文件 796

23.12 保护同步复制的应用程序 796

23.15 小结 797

第24章 应用程序移到客户/服务器 798

24.1了解客户/服务器 798

24.1.1 客户/服务器术语解释 799

24.1.2 利用ODBC 799

24.1.3 客户/服务器中使用Access的原因 800

24.2 迁移到客户/服务器的考虑因素 801

24.2.1 数据量 801

24.2.5 备份与恢复 803

24.2.4 同时使用及用户数量 803

24.2.3 数据库设计 803

24.2.2 数据库的使用和用处 803

24.2.6 安全性 804

24.2.7 应用程序间的数据共享 804

24.2.8 网络传输 804

24.2.9 记录集合 805

24.2.10 选择合适的系统 805

24.3 制订客户/服务器计划 805

24.3.1 字段和表的名称 806

24.3.2 保留字 806

24.3.3 区分字母大小写 807

24.3.4 服务器上的查询处理 807

24.4 应用程序开发过程的注意事项 808

24.4.1 限定数据 809

24.4.2 使用组合框 809

24.4.3 使用Access特定函数和用户自定义函数 810

24.4.4 创建异构联接及交叉数据库联接 810

24.4.5 处理OLE对象 810

24.4.6 使用本地表获取静态信息 811

24.5 转换现有的应用程序 811

24.5.1 从设计合理的数据库开始 811

24.5.2 使用时间戳字段 812

24.5.3 清理查询 812

24.5.4 重做窗体 813

24.5.5 开发高级应用程序 814

24.5.6 利用当前的Access安全性 817

24.5.7 升迁Access数据库 817

24.5.8 使用升迁工具 821

24.6 分布客户/服务器解决方案 824

24.6.1 编程设置ODBC数据源 825

24.6.2 用服务器脚本重新创建SQL数据库 828

24.6.3 向SQL Server加载现有的数据 829

24.7 Access和SQL Server的注意事项 829

24.8 小结 830

第25章 用ADPs开发SQL Server项目 831

25.1.2 链接到数据 832

25.1 项目文件结构 832

25.1.1 介绍OLE DB 832

25.1.3 数据链接和Access项目 833

25.1.4 数据链接和VBA代码 834

25.1.5 Microsoft数据引擎 837

25.1.6 SQL Server上的对象 837

25.2 创建过程 839

25.2.1 创建新项目 839

25.2.2 项目属性 842

25.2.3 确保项目安全 843

25.3 创建客户/服务器应用程序 844

25.3.1 使用表 845

25.3.2 对象的命名约定 847

25.3.3 SQL Server的数据类型 848

25.3.4 使用约束 850

25.3.5 使用触发器 856

25.3.6 优化数据访问 858

25.4 使用视图 859

25.5 使用存储过程 862

25.5.1 创建存储过程 863

25.5.2 比较存储过程和Access语法 866

25.6 小结 868

第六部分 添加最终的交互 869

第26章 使用DAO的启动检查系统例程 871

26.1 执行启动系统检查 872

26.2 使用定制数据库属性 877

26.2.1 通过用户界面创建数据库属性 877

26.2.2 从VBA访问定制数据库属性 878

26.3 通知和记录用户退出应用程序 879

26.3.1 启动时让用户退出 880

26.3.2 在应用程序运行中记录用户退出 881

26.3.3 设置标志文件让用户退出后端 885

26.3.4 启动时测试链接表的链接 888

26.4 通过VBA链接和解除链接表 889

26.4.1 链接和解除链接位于应用程序文件夹中Jet后端的表 890

26.4.2 用OpenFile API调用查找Jet后端 894

26.5 测试和修复损坏的Jet后端数据库 897

26.6 检查并通知用户新版本的情况 904

26.7 小结 907

第27章 使用ADO的启动检查系统例程 908

27.1 执行启动系统检查 909

27.2 采用ADO设置和检索系统的设置 914

27.3 在启动时测试链接表的连接 915

27.4 通过VBA和ADO链接表 917

27.5 测试和修复损坏的Jet后端数据库 921

27.6 使用ADO复制代码表 925

27.7 小结 929

第28章 创建维护例程 930

28.1 创建导出对话框导出应用程序的表 930

28.1.1 实用工具的演示 930

28.1.2 查看组成导出实用工具的部件 931

28.1.3 查看创建导出实用工具的代码 935

28.2 根据需要压缩和修复后端 937

28.3 创建通用代码表编辑器 942

28.4 后端复制表到前端以获取更好的性能 944

28.4.1 创建复制表编辑器 945

28.4.2 复制半静态数据的启动例程 954

28.5 小结 960

第七部分 附录 961

附录A 在Access 2000中调试代码 963

A.1 设置正确的模块选项以发挥最大的调试能力 963

A.2 利用立即窗口 967

A.2.1 从应用程序向立即窗口显示数据 967

A.2.2 在立即窗口中显示数据 968

A.2.3 在立即窗口中给变量和对象赋值 968

A.2.4 从立即窗口运行代码 969

A.3 终止程序运行 970

A.3.1 使用Stop语句 971

A.3.2 使用断点 971

A.4.1 按行“逐语句”运行代码 972

A.3.3 使用Debug.Assert 972

A.4 单步调试 972

A.4.2 用“逐过程”越过代码 973

A.4.3 用“跳出”命令离开例程 973

A.4.4 “运行到光标处”命令略过已检验的代码 973

A.5 查看过程调用顺序 973

A.6 程序运行期间监视表达式 974

A.6.1 本地窗口 975

A.6.2 用“快速监视”对话框快速监视 977

A.6.3 在监视窗口中添加和查看表达式 978

A.6.4 设置断点条件和编辑表达式 979

A.7 用条件编译命令控制代码 981

A.8 小结 983

附录B ActiveX初步 984

B.1 使用ActiveX控件 984

B.1.1 Access附带的ActiveX控件 985

B.1.2 在窗体上放置ActiveX控件 985

B.1.3 设计期间设置ActiveX控件的属性 987

B.2 用日历控件计算天数 988

B.2.1 日历ActiveX控件的属性 989

B.2.2 用日历控件设计VBA 992

B.3 通过Common Dialog ActiveX控件使用标准界面 994

B.3.1 用Common Dialog控件查找文件 996

B.3.2 用Common Dialog ActiveX控件改变默认的系统打印机 997

B.4 小结 998

附录C Access 2000和Jet4的错误 999

附录D Microsoft Access IESZYNSKI命名约定 1076

D.1 命名约定初步 1077

D.2 Access对象类型 1078

D.3 对象名的结构 1079

D.3.1 什么是前缀 1079

D.3.2 什么是标记 1080

D.3.3 什么是基本名称 1080

D.3.4 什么是限定符 1080

D.4 创建数据库对象基本名称 1081

D.3.5 什么是后缀 1081

D.4.1 基本名称规则 1082

D.4.2 基本名称长度限制 1082

D.4.3 复合基本名称 1083

D.4.4 字段基本名称 1083

D.4.5 基本名称元素的顺序 1085

D.5 数据库对象的命名约定 1085

D.5.1 数据库窗口对象的标记 1086

D.5.2 窗体和报表控件对象的标记 1088

D.5.3 数据库对象的前缀 1091

D.5.4 使用菜单宏 1092

D.6 创建VBA对象基本名称 1093

D.5.5 数据库对象名样例 1093

D.6.1 VBA对象基本名称的规则 1094

D.6.2 VBA对象基本名称长度 1094

D.6.3 复合VBA对象基本名称 1094

D.7 VBA对象的命名约定 1095

D.7.1 变量的标记 1095

D.7.2 变量的前缀 1100

D.7.3 常量命名 1101

D.7.4 过程的标记和前缀 1102

D.7.5 用宏代替VBA 1102

D.8 创建自己的标记 1103

D.7.6 Visual Basic对象名示例 1103

D.9 VBA编码约定 1105

D.9.1 编码注释 1105

D.9.2 处理错误 1105

D.10 标准缩写 1106

D.11 标准术语 1108

D.12 LNC的补充信息 1109

D.12.1 如何得到LNC 1109

D.12.2 发送反馈 1109

D.12.3 作者简介 1109

光盘使用约定 1111

配套光盘内容 1113