引言 1
0.1 Visual Basic 4.0的数据库开发新功能 1
0.2 从数据库开发人员的角度看Visual Basic 4.0 4
0.3 Visual Basic 4.0与Microsoft BackOffice 6
0.4 本书的使用对象 7
0.5 有效使用本书所应准备的条件 8
0.6 编写本书所使用的计算机 10
0.7 本书的结构 11
0.8 本书的排印惯例 13
0.9 Visual Basic和数据库参考书目 16
0.10 跟上Visual Basic的发展 17
第一部分 Visual Basic 4.0数据访问对象与控件 25
第一章 Visual Basic 4.0在数据库前端应用程序市场中的定位 25
1.1 选择Visual Basic 4.0作为数据库开发平台 26
1.2 使用Visual Basic 4.0作为数据库前端应用软件 28
1.2.1 数据库前端应用程序生成器 30
1.2.2 Visual Basic与Jet SQL 31
1.2.3 数据库前端应用程序的分类 32
1.3 数据库管理系统的分类 36
1.3.1 传统的桌面RDBMS 36
1.3.2 客户/服务器RDBMS 38
1.3.3 Microsoft Access:非传统的桌面RDBMS 39
1.3.4 大型机和小型机数据库管理系统 41
1.4 放弃传统的数据库编程语言 42
1.4.1 适应Windows事件方法环境 42
1.4.2 处理编程对象 44
1.4.3 Visual Basic中的Variant数据类型 44
1.5 Visual Basic 4.0的Jet数据访问对象 45
1.5.1 对象集合 46
1.5.2 数据控件 47
1.6 本章小结 49
第二章 理解Jet 3.0数据访问对象 50
2.1 定义数据对象的特征 50
2.1.1 Jet数据访问与远程数据对象简介 53
2.1.2 数据对象的实例 55
2.1.3 持久成员对象 56
2.1.4 虚拟表中建立的Recordset对象 57
2.1.5 Recordset对象的一致性问题 59
2.2 理解DBEngine对象的属性和方法 59
2.3 定义Workspace和Database对象 61
2.3.1 Workspace对象的属性和方法 61
2.3.2 Database对象的属性 62
2.3.3 应用于Database对象的方法 63
2.3.4 与已存在的Jet数据库连接 64
2.4 使用TableDefs集合和TableDef对象 65
2.4.1 TableDef对象的Attributes属性 66
2.4.2 理解标志及内部符号常数 67
2.4.3 用TableDefs集合映射数据库成员对象 68
2.4.4 映射Fields和Indexes集合 70
2.5 使用QueryDefs集合与QueryDef对象 75
2.6 用VBA代码建立表 78
2.7 创建并使用Recordset对象 79
2.7.1 Recordset对象的属性 79
2.7.2 适用于Recordset对象和集合的方法 81
2.8 本章小结 82
第三章 运用Visual Basic数据控件 84
3.1 创建带有数据控件的数据访问对象实例 84
3.1.1 数据控件的属性 84
3.1.2 数据控件与数据有关的方法 87
3.1.3 数据控件的Validate事件 88
3.1.4 使用带有约束控件的数据控件 89
3.2.1 用代码设置数据控件的属性值 95
3.2 运用带有数据控件的Visual Basic代码 95
3.2.2 运用带有数据控件的数据访问方法 96
3.2.3 用Visual Basic代码校验数据 104
3.3 本章小结 105
第二部分 数据库和查询设计概念 109
第四章 优化关系数据库的设计 109
4.1 数据库系统的分类 109
4.1.1 数据库术语 110
4.1.2 平面文件数据库 113
4.1.3 网状及层次数据库模型 113
4.1.4 关系数据库模型 114
4.1.5 关系数据库管理器的类型 116
4.2 建立数据模型 120
4.2.1 数据库图解 120
4.2.2 使用建模工具进行数据库设计 121
4.3.1 组织实体类 124
4.3 关系数据库设计规则 124
4.3.2 规范化表数据 125
4.4 为提高性能及域完整性对表建立索引 130
4.4.1 对表加索引方法 130
4.4.2 选择进行索引的字段 132
4.5 本章小节 133
第五章 学习结构化查询语言 135
5.1 回顾SQL的形成 136
5.1.1 SQL语句元素 136
5.1.2 SQL与过程计算机语言的区别 137
5.1.3 ANSI SQL的类型 138
5.2 编写ANSI SQL语句 139
5.2.1 SQL语句的基本分类 140
5.2.2 SQL的形式语法 141
5.2.3 简单SQL SELECT语句的实用语法 142
5.2.4 利用Visual Data样本应用程序研究查询 143
5.2.5 SQL操作符和表达式 147
5.2.6 连接表 151
5.2.7 使用嵌套查询与子查询 159
5.2.8 UNION查询 162
5.2.9 SQL总汇函数以及GROUP BY和HAVING子句 163
5.3 比较Jet SQL方言与ANSI SQL-92 166
5.3.1 ANSI SQL保留字及Jet SQL关键字 166
5.3.2 在ANSI SQL与Jet SQL之间进行数据类型转换 168
5.4 本章小结 169
第六章 连接其它桌面数据库的表 170
6.1 为什么要与外部数据库连接 170
6.2 Jet数据库引擎所支持的数据库格式 170
6.3 理解外部数据库连接 171
6.3.1 Windows 95与WindowsNT 3.5+注册设置和初始化文件 172
6.3.2 指定外部数据库连接 175
6.3.3 外部数据库连接的特殊问题 176
6.4 连接外部数据 180
6.4.1 附连外部数据库 180
6.4.2 打开外部数据库 183
6.4.3 采用数据控件打开外部数据库 183
6.5 连接具体的数据库 184
6.5.1 使用外部Jet数据库中的表 184
6.5.2 使用Paradox表 185
6.5.3 使用dBASE和FoxPro表 187
6.5.4 使用Lotus和Excel工作单中的数据 190
6.5.5 使用文本文件数据 192
6.6 本章小结 193
第七章 运行交叉表和动作查询 195
7.1 使用交叉表查询提供汇总数据 195
7.1.1 由GROUP BY子句建立的汇总数据 195
7.2 使用TRANSFORM和PIVOT建立交叉表查询 198
7.2.2 建立分类交叉表查询 201
7.2.1 用谓词IN建立固定列标题 201
7.3 定义动作查询 203
7.3.1 用Visual Basic 4.0代码执行动作查询 203
7.3.2 Visual Basic 4.0中与动作查询等价的方法 204
7.3.3 执行动作查询过程中维护引用完整性 205
7.4 使用SQL动作查询 205
7.4.1 用制表查询创建新表 205
7.4.2 对现有表追加记录 206
7.4.3 更新表中的数值 206
7.4.4 删除表中的记录 207
7.5 本章小结 207
8.1 在决策支持前端应用程序背后组织数据 211
8.1.1 指定数据源 211
第八章 决策支持前端应用程序设计 211
第三部分 数据库前端应用程序设计引论 211
8.1.2 查询策略 215
8.2 设计用户界面 219
8.2.1 优化应用程序的可用性 220
8.2.2 标识工具条按钮函数 225
8.3 创建并使用按钮条和工具条 225
8.3.1 按钮位映象的获得和修改 226
8.3.2 增加代码以显示和隐藏表单 227
8.4 根据累计数据创建图形 228
8.4.1 产生连线图 228
8.4.2 提供条形图和区域图 230
8.4.3 显示饼图 232
8.5 用网格控件显示细节数据 233
8.6 本章小结 237
第九章 使用高级数据感知OLE控件 238
9.1 使用DBGrid控件显示和更新Recordset对象 238
9.1.1 格式化DBGrid控件 240
9.1.2 DBGrid控件的特殊属性、方法和事件 243
9.2 采用DBCombo和DBList框提取数据项 247
9.2.1 采用DBCombo选择填充DBGrid控件 247
9.2.2 级连两个DBCombo控件选择特定的记录 249
9.2.3 使用DBCombo框更新第二个Recordset 250
9.3 采用PictureBox和Image控件存储和显示图象 252
9.3.1 Visual Basic视觉登录系统 253
9.3.2 获取、显示并存储图象picon 257
9.3.3 建立批获取登录供Adobe Premiere使用 258
9.4 本章小结 260
第十章 利用交叉表查询生成汇总数据 261
10.1 组织基于图表的决策支持应用程序 261
10.1.1 在一个应用程序中兼顾不同管理层次的需要 262
10.1.2 建立图形和图表的定义表 263
10.1.3 生成数据以测试应用程序 264
10.2 为复杂决策支持程序确定导航方法 268
10.2.1 使用多重文档接口 269
10.2.2 设计导引工具条 270
10.2.3 MDI父表单的菜单结构 271
10.2.4 缩放工具条按钮、MDI子表单和图形的代码 272
10.3 实现前两级图表 275
10.3.1 增强的DrawMonthlyGraph()函数 275
10.3.2 为SELECT和交叉表Recordset对象生成SQL语句 280
10.3.3 为图表加图例 282
10.4 为MDI子表单加细节数据网格 284
10.4.1 增加代码来填充网格控件 284
10.4.2 为网格增加行、列和交叉合计总数 287
10.5 生成第三级饼图 289
10.6 编写在图形和图表之间导航的代码 292
10.7 本章小结 293
11.1 由图型决策支持应用程序打印报表 295
第十一章 使用代码和Crystal Reports打印报表 295
11.1.1 打印网格 296
11.1.2 用扩展图形定制控件结合网格与图形 301
11.1.3 向专用类型打印机打印图形 308
11.1.4 生成打印预览窗口 309
11.2 根据Recordset对象打印报表 310
11.2.1 用Visual Basic代码从Recordset中打印列表 310
11.3 使用Crystal Reports控件 311
11.3.1 用Crw32.exe生成报表文件 312
11.3.2 使用报表控件 318
11.4 本章小结 325
第四部分 数据存取与OLE对象高级编程 329
第十二章 扩展数据访问对象的使用 329
12.1 使用MouseDown和DblClick事件激活下钻 330
12.2 用展开的饼图选择下钻路径 332
12.2.1 结合饼图使用扩展图形控件的HotHit事件 333
12.2.2 为饼图编写自己的HotHit代码 334
12.2.3 给出用户下钻选择 338
12.3 使用选中的数据填充网格 341
12.4 从二级图表直接设置下钻路径 349
12.5 采用数据访问对象复制Jet 3.0数据库 350
12.5.1 理解数据库复制 351
12.5.2 创建数据库设计主 354
12.5.3 创建复制者数据库 358
12.5.4 根据设计主更新复制者 360
12.6 本章小结 362
第十三章 设计在线事务处理系统 363
13.1 事务处理应用程序的分类 363
13.2 在事务处理中使用SQL语句 364
13.2.1 判定何时可以更新被连接的表 364
13.2.2 SQL和面向集合的事务 367
13.3.1 使用数据表单设计器增加数据录入的约束文本框 373
13.3 采用约束控件对Recordset进行更新 373
13.3.2 采用数据约束网格控件模拟Access约束子表单 375
13.3.3 为子表单的注释字段增加长文本编辑表单 378
13.3.4 由Data Form Designer增加的增强命令按钮 380
13.3.5 在Publishers表单上增加一个隐式查找下拉式组合列表 382
13.4 处理多表事务 384
13.4.1 事务指令的结构 384
13.4.2 采用VBA代码执行多表事务处理 386
13.4.3 Jet事务方法的适用性 387
13.5 本章小结 388
第十四章 数据库前端应用程序与OLE 2.1的集成 389
14.1 理解对象连接与嵌入 389
14.1.1 文档和OLE容器 391
14.1.2 OLE 2.x服务程序的分类 392
14.2 16位及32位OLE客户与服务程序的互操作性 393
14.3.1 OLE 2.x服务器应用程序的原地激活 394
14.3 了解OLE 2.1容器 394
14.3.2 用拖放方式创建源文档对象 395
14.3.3 对嵌套对象的支持 396
14.3.4 变换对象以匹配容器属性 396
14.3.5 对象类型模拟及转换 396
14.3.6 其它OLE 2.x特色 397
14.4 安装OLE 2.x应用程序和Registry数据库 397
14.4.1 文件和对象类型关联 399
14.4.2 CLSID簇中的OLE服务程序注册 400
14.4.3 采用Regsrv32.exe注册与注销OLE服务程序 401
14.5 使用Visual Basic 4.0的OLE容器控件 402
14.5.1 OLE 2.1容器控件的属性 403
14.5.2 OLE容器控件的方法 405
14.5.3 OLE容器控件的Updated事件 406
14.6 嵌入、连接与插入OLE对象 407
14.6.1 增加菜单条以与运行模式下的菜单协商 410
14.6.2 使用可插入对象 410
14.7 处理运行模式下的异常问题 412
14.7.1 把焦点移到其它控件上以撤消嵌入对象 412
14.7.2 被激活Excel 7.0 WorkSheet的异常动作 413
14.7.3 把OLE容器控件约束到OLE对象字段上 413
14.8 把Visual Basic用作DDE客户和服务程序 415
14.8.1 决定何时使用DDE 416
14.8.2 定义DDE术语和方法 416
14.8.3 DDE应用程序存在的问题 419
14.9 本章小结 420
第十五章 使用OLE Automation和高生产率应用程序 421
15.1 利用OLE Automation的优点 422
15.1.1 OLE Automation术语 424
15.1.2 OLE Automation指令的Visual Basic 4.0句法 426
15.1.3 用程序操纵可编程对象 441
15.2 在Visual Basic 4.0中使用Word Basic代码 444
15.2.1 Word Basic的命名变元 444
15.2.2 Word Basic的续行字符 445
15.2.3 Word Basic的字符串拼接 445
15.3 工作单宏和Excel VBA 445
15.3.1 Excel VBA模块中的引用 447
15.3.2 浏览其它被引用对象 448
15.4 决定把VBA用作主要编程环境 448
15.5 本章小结 449
第十六章 创建本地OLE Automation服务程序和DLL 450
16.1 定义OLE Automation服务器的角色 450
16.2 在进程内和进程外服务程序之间作出抉择 452
16.2.1 进程内OLE Automation服务程序 452
16.2.2 进程外OLE Automation服务程序 453
16.3.1 将时间区段选择组件升级到32位 454
16.3 建立简单的OLE Automation服务程序 454
16.3.2 将32位Period Selection表单转换为OLE Automation服务程序 455
16.3.3 时间区段选择服务程序的错误处理 463
16.4 创建复杂的三层自治服务程序 463
16.4.1 Product Grouping服务程序的设计 464
16.4.2 在Product Grouping类中增加Show方法 465
16.5 本章小结 466
第十七章 将Access Basic和VBA代码转换为Visual Basic 4.0代码 467
17.1 确定转换后Visual Basic应用程序的结构 468
17.1.1 处理32位和16位的问题 468
17.1.2 用Visual Basic 4.0 MDI窗口模拟Access表单 469
17.1.3 用Visual Basic处理Access对象的名称 469
17.1.4 转换菜单宏 470
17.2 把其它宏动作转换为Visual Basic 4.0 471
17.2.1 触发宏动作的事件 471
17.2.2 对表单、报表和控件进行操作的动作 472
17.2.3 对数据库对象进行操作的动作 473
17.2.4 可以直接翻译成Visual Basic指令或属性的动作 473
17.2.5 在Visual Basic中无直接对等属性或方法的动作 474
17.3 把Aceess Basic代码转入Visual Basic模块 475
17.3.1 用户定义的Access函数 475
17.3.2 Access事件处理函数及子过程 476
17.4 处理Visual Basic 4.0所没有的Access对象 479
17.5 使Access Basic代码符合Visual Basic 4.0标准 481
17.6 本章小结 481
第五部分 多用户与客户/服务器数据库前端应用程序 485
第十八章 在网络上运行Visual Basic数据库应用程序 485
18.1 理解网络拓扑和操作 485
18.1.1 PC网络的规模 486
18.1.2 资源域、工作组、服务器和工作站 488
18.1.3 本章示例用到的拓扑结构和协议 489
18.1.4 注册进入服务器与加入工作组 492
18.1.5 服务器冗余和备份系统 495
18.1.6 网络适配卡和操作协议 498
18.1.7 集线器、网桥、路由器和网关 502
18.2 在网络环境下保持数据库的安全性 503
18.2.1 网络权限、访问许可和帐户 503
18.2.2 网络管理员、操作员与用户 505
18.2.3 使用NT文件系统分区进行文件访问控制 507
18.3 探讨Jet安全系统 509
18.3.1 分配User帐户以及保证Jet数据库安全 509
18.3.2 使用Access95的用户级安全工具保证现有数据库文件的安全 512
18.3.3 采用Access早期版本向用户组和用户授予及撤销访问许可 514
18.4 使用Visual Basic 4.0编程实现Jet安全功能 515
18.4.1 考察Users和Groups集合 517
18.4.2 改变Container和Document对象的访问许可 518
18.5 Visual Basic与全球网 520
18.6 本章小结 521
第十九章 使用开放数据库互联API 522
19.1 理解ODBC API的结构 522
19.1.1 单层和多层ODBC驱动程序 524
19.1.2 ODBC API一致性级别 525
19.1.3 ODBC SQL一致性级别 525
19.1.4 ODBC版本和thunking层 526
19.1.5 ODBC数据类型及Access数据库引擎 527
19.1.6 内部ODBC标量函数 528
19.2 ODBC初始化文件和Registry表项 530
19.2.1 Odbcinst.ini 530
19.2.2 Odbc.ini 532
19.2.3 ODBCINST.INI和ODBC.INI Registry键 535
19.2.4 用于自定义ODBC设置的Registry和.INI项 536
19.3.1 由Biblio.mdb创建ODBC数据源 539
19.3 使用Microsoft Query和桌面数据库驱动程序 539
19.3.2 在Microsoft Query中使用Bibliography ODBC数据源 540
19.3.3 Jet SQL和由Microsoft Query创建的ANSI/ODBC SQL语句之间的区别 544
19.4 本章小结 545
第二十章 创建客户/服务器数据库前端应用程序 546
20.1 使用Microsoft SQL Server 547
20.1.1 SQL Server的联网特色 547
20.1.2 连接、线程和对称多路处理 547
20.2 为客户/服务器数据库创建ODBC数据源 549
20.2.1 把Northwind数据库作为ODBC数据源加入 549
20.2.2 把Windows 95中的表转出到ODBC数据源中 551
20.2.3 使用Visual Basic 4.0的RegisterDatabase方法 554
20.3 使用被连接的SQL Server表 555
20.3.1 将SQL Server表连接到Jet数据库上 555
20.3.2 对被连接的SQL Server表使用VisData 558
20.3.3 比较本地与远程Recordset对象的性能 559
20.3.4 使用组合框选择列表测试远程数据库性能 561
20.4 直接连接ODBC数据源 563
20.4.1 采用VisData测试对ODBC数据源的直接连接 563
20.4.2 用SQL Object Manager为SQL Server表增加索引 565
20.5 采用SQL Passthrough改善应用程序性能 567
20.6 本章小结 569
第二十一章 将数据库与Intranet和Internet集成 570
21.1 研究Microsoft的ActiveX技术 570
21.1.1 服务器端的技术 571
21.1.2 客户端的技术 576
21.2 用HTML OLE控件建立Visual Basic 4.0 intranet浏览器 579
21.2.1 研究HTML OLE控件的beta版 581
21.3 采用DoNewElement事件分析HTML文档 583
21.3.1 设计DB-Brwsr规划文件 584
21.3.2 捕获并重定向表单提交 585
21.3.3 使用Visual Basic数据库浏览器 587
21.4 使用HTML隐含输入要素提供SQL语句 590
21.5 预览Internet Explorer 3.0和Visual Basic,Scripting Edition 592
21.6 本章小结 597
第六部分 充分利用Visual Basic 4.0企业版的功能 601
第二十二章 使用远程数据对象 601
22.1 使用带有约束控件的远程数据控件 601
22.1.1 远程数据控件的连接属性 602
22.1.2 RDO与带有DBGrid控件的DAO的性能比较 603
22.1.3 使用带有Picklist表单的RDC 605
22.2 考察RDO的属性和方法 608
22.2.1 RDO的对象体系结构 608
22.2.2 RDC与RDO对象共有的属性 610
22.2.3 打开连接并应用OpenResultset方法 611
22.3.1 增加注册对话屏以打开rdoConnection 613
22.3 采用RDO创建简单的决策支持前端应用程序 613
22.3.2 从rdoResultSet对象向组合框和网格控件输入数据 615
22.4 使用带有参数的rdoPreparedStatement对象 619
22.4.1 CreatePreparedStatement方法与Parameters集合 619
22.4.2 rdoPreparedStatement对象的属性与方法 620
22.4.3 创建服务器上的准备了的语句 621
22.4.4 修改RDO-Test应用程序以使用带参数的准备了的语句 622
22.5 使用带有参数和准备了的语句的服务器存储过程 624
22.5.1 采用Transact-SQL创建存储过程 625
22.5.2 执行服务器存储过程的特殊ODBC句法 625
22.5.3 修改准备了的语句以使用服务器存储过程 626
22.6 运行rdoPreparedStatement动作查询 627
22.7 本章小结 628
第二十三章 建立并管理远程自治对象 629
23.1 理解远程自治 629
23.1.1 远程自治构件 629
23.1.2 同步与异步服务程序操作 630
23.2 定义数据库应用中的远程自治角色 633
23.2.1 传统的双层数据库应用程序 633
23.2.2 三层数据库结构 633
23.3 设计多层远程自治应用 634
23.3.1 远程自治的一个订购处理系统 635
23.3.2 确定OLTP设计或转换策略 641
23.3.3 建立服务程序的测试应用程序 642
23.3.4 将AddTestOrder函数转换为Orders类的AddNewOrder方法 647
23.4 布署远程自治服务程序和客户应用程序 648
23.4.1 创建远程服务程序测试子过程 649
23.4.2 创建并安装远程服务程序的建立文件 650
23.4.3 设置远程自治客户程序 652
23.4.4 测试远程自治服务程序 654
23.5 使用组件管理器 655
23.6 本章小结 657
第二十四章 采用Visual SourceSafe 4.0管理大型项目 658
24.1 理解Visual SourceSafe方法论 659
24.2 安装并设置Visual SourceSafe 659
24.3 管理Visual SourceSafe 663
24.3.1 为Admin帐号加安全措施 663
24.3.2 修改Guest帐号特权 664
24.3.3 增加新的Visual SourceSafe用户 664
24.3.4 设置缺省用户工程授权 665
24.3.5 校验并设置单个用户的授权 666
24.4 设置与Visual Basic 4.0一起使用的Visual SourceSafe 667
24.4.1 设置SourceSafe控制下的工程 668
24.4.2 设置源代码的控制选项 671
24.4.3 与Visual Basic 4.0一起使用Visual SourceSafe 674
24.4.4 使用SourceSafe Explorer取出工程文件 674
24.4.5 使用打开新的SourceSafe工程菜单选项 677
24.4.6 置数据库文件于SourceSafe的控制之下 677
24.4.7 放入工程文件 679
24.4.8 察看文件历史与差异 681
24.5 本章小结 682
第七部分 发行数据库前端应用软件产品 685
第二十五章 为数据库前端应用程序编制文档 685
25.1 准备数据字典 685
25.1.1 编写用来创建数据字典的Visual Basic应用程序 686
25.1.2 采用Access 95的数据库Documentor为表、查询和其它数据库对象编制文档 698
25.2 为数据库应用程序编制手册 701
25.2.1 用户手册的结构 702
25.2.2 使用RoboHELP 95编制可转换手册或标准文件 703
25.3 本章小结 705
第二十六章 建立数据库前端应用软件的帮助文件 706
26.1 回顾WinHlp32的新特色 706
26.2.2 往WinHlp32引擎中添加指令 709
26.2.1 为帮助系统创建丰富文本格式文件 709
26.2 理解Visual Basic 3.0与WinHlp32的交互方式 709
26.2.3 在WinHlp32文件中包含图形对象 710
26.2.4 编译.rtf文件创建WinHlp32.hlp文件 714
26.3 使用帮助编写工具 718
26.4 使用Blue Sky Software公司的RoboHELP 95应用程序 719
26.5 用Visual Basic代码调用WinHlp32()函数 724
26.5.1 说明WinHelp函数原型 724
26.5.2 在Visual Basic程序中使用WinHelp API函数 726
26.6 本章小结 727
第二十七章 使用Visual Basic Setup Kit制作发行软盘 728
27.1 用SetupWizard创建发行磁盘 728
27.1.1 运行SetupWiz.exe 729
27.1.2 理解Swdepend.ini和Setup.lst 736
27.1.3 在SetupWizard里使用模板文件 738
27.1.4 有关OLE 2.x和OLE Automation的问题 739
27.2 发行盘最终用户所看到的Setup应用程序 740
27.3 删除应用程序 742
27.4 创建自己的Setup应用程序 744
27.4.1 修改现有Setup程序 744
27.4.2 修改Config.sys和Autoexec.bat文件 745
27.5 本章小结 746
第八部分 附录 749
附录A Visual Basic数据库前端系统开发资源 749
A.1 数据感知和与数据库有关的OLE控件 749
A.2 开放数据库连接驱动程序 752
A.3 特殊目的的数据库工具和插件产品 753
A.4 Visual Basic的插件式和辅助应用程序 754
A.5 Windows帮助文件创建应用程序 758
A.6 第三方厂商的OLE服务程序与专用OLE控件 759
A.7 Visual Basic和Access期刊 760
A.8 定期讨论一般数据库及Windows问题的期刊 762
A.9 有关数据库技术支持和CompuServe样本应用程序的来源 763
A.10 Visual Basic Internet Link与Microsoft Network BBS 765
附录B Microsoft Visual Basic Leszynski命名规则 767
B.1 命名规则:导论 767
B.2 结构化对象名称 769
B.3 Visual Basic对象的命名规则 771
B.4 VBA对象的命名规则 774
B.5 Jet对象的命名规则 784
B.6 创建自己的标记 788
B.7 VBA编程规则 789
B.8 标准化的缩写 791
B.9 标准化的术语 792
B.10 如何得到Leszynski命名规则 793
B.11 信息反馈 793
B.12 注释 793
术语解释 794