标题：Excel+SQLServer数据库管理技术详解
内容简介
本书共分15章，结合大量有针对性的案例，详细介绍了Excel VBA、ADO、SQL等方面的基础知识以及这些知识在利用Excel VBA整合SQL Server数据库中的各种实际应用技能。通过这些实例，读者可以快速掌握利用Excel VBA来操作SQL，Servet数据库的方法和技巧，为利甩Excel VBA开发各类管理信息应用系统提供坚实的基础。本书提供的这些案例大部分可直接应用到实际工作中，稍作修改也可应用于Excel与其他数据库的整合应用之中。
本书不仅适用于将Excel与SQL Server数据库整合应用的各类管理人员和管理系统开发人员，也适用于将Excel与其他数据库（如Access数据库、Foxpro数据库和IOracle数据库等）整合应用的各类管理人员和管理系统开发人员以及大专院校相关专业本科生、研究生和MBA学员等阅读使用。
作者简介
韩小良，教授，资深Excel专家和培训讲师，主要致力于Excel应用、系统开发和企业培训，已经为包括中国银行、宝钢、索尼爱立信、北京国投、中国外运、索恩照明、浙江大红鹰集团等上百家中外企业讲授Excel管理应用课程，著有20余部Excel应用方面的著作，开发了数套将Excel VBA与Access数据库和SQL Server数据库整合的财务、销售、进销存、固定资产、工资、人力资源等管理系统，并应用到了数十家企业，取得了明显的经济效益。
编辑推荐
独一无二：本书是第一本将Excel与SQL Server数据库整合应用的经典图书。
讲解全面：囊括了整合Excel与SQL Server数据库的各种基本知识、方法和案例分析。
实操性强：提供了大量的实际案例，详细介绍了利用Excel VBA整合SQL Server数据库的方法和技巧。
易学易用：提供了每个案例以及各种方法和技巧详细的源代码，这些源代码均设计成了通用的程序，根据自己电脑的实际配置情况即可迅速套用。
前言
Microsoft Excel由于其强大的数据处理功能和计算分析功能，已经在社会经济生活的各个方面得到了广泛的应用。但是，Excel也有其局限性和缺点，例如存储的数据量是有限制的，对于Excel 2003及以前的版本，每张工作表仅能保存65 536×256个数据，如果要将工作簿的所有工作表都存满数据，一方面将占用大量的硬盘空间，另一方面也使工作表的计算速度变得极为缓慢。因此，当有大量的数据要保存时，应当使用数据库，如Access数据库、SQL Server数据库和Oracle数据库等，而不是Excel工作表。Excel的用途应该是对数据库查询出的数据进行计算和分析，也就是发挥Excel的数据计算、统计分析、图表和制作报表等卓越功能。将Excel与数据库结合起来，可以充分利用各自的优势，使工作更加得心应手。
在目前使用的各种数据库软件中，作为网络数据库的SQL Server，已经得到越来越多的应用。SQL Server提供了强大的数据管理与处理分析能力，用户可以利用SQL Server来开发各种管理系统。不过，对于企业管理信息系统而言，不可能在每个部门、每个员工的终端电脑上都安装一套SQL Server软件，而是企业自己有一个SQL Server服务器，每个终端电脑可以通过自己电脑里已有的Office办公软件来实现与SQL Server服务器的沟通和联系。这样，由于Office办公软件在每个电脑上都是必备的操作软件，而且其中的Excel具有强大的数据处理与分析能力，并且利用Excel VBA可以实现对SQL Server服务器的自动链接，从而使得每个人都可以任意地在SQL Server服务器上创建自己的数据库，并与他人共享。或者各个部门将数据汇总到SQL Server服务器的数据库中，使得办公效率大大提高。而当需要某些数据时，又可以利用Excel的现有数据导入工具或利用Excel VBA将SQL Server服务器数据库数据导入到Excel工作表，并进行处理和分析。
本书共15章，结合大量的有针对性的案例，详细介绍了Excel VBA、ADO、SQL等方面的知识以及这些知识在利用Excel VBA整合SQL Server数据库中的各种实际应用。通过这些案例，读者可以快速掌握利用Excel VBA来操作SQL Server数据库的方法和技巧，为利用Excel VBA开发各类管理信息应用系统提供坚实的基础。
第1章主要介绍了Excel的向导工具和SQL Server数据库的向导工具，实现Excel与数据库之间进行数据交换的基本方法，包括导入导出数据、利用SQL Server数据库数据创建数据透视表等。
第2章主要介绍了Excel VBA、ADO和SQL的基础知识，这是为以后利用Excel VBA操作SQL Server数据库提供基础。
第3章至第15章，结合大量精选的有针对性的案例，详细介绍如何利用Excel VBA操作SQL Server数据库和查询数据等。
本书的编写得到了很多学者和专家的帮助，并参考了一些文献和资料，由于无法一一列出，在此真诚地向这些学者、专家以及文献和资料的提供者表示感谢。
参与本书编写的人还有：高会东、王建超、邓薇、黄丽莉、吝晓宁、汪洋、白广元、蔡念光、陈辉、冯彬、刘长江、刘明、沙金、张士强、张洪福、多召英、贾旭、李宽、江宽、陈科、方成林、班晓娟、方中纯、刘兰军、郑雪峰。
编　者 
2008年4月
图书目录
前言
第1章 Excel与SQL Server的交互1.1 以SQL Server数据库数据导入到Excel工作表
1.2 以Excel工作表数据导入到SQL Server数据库
1.3 以SQL Server数据库数据创建数据透视表
1.4 以SQL Server数据库数据创建多维数据透视表
第2章 Excel VBA/ADO/SQL概述2.1 为什么要使用Excel管理SQL Server数据库
2.2 SQL Server数据库概述
2.2.1 数据库命名规则
2.2.2 创建数据库
2.2.3 查看、编辑数据库数据
2.3 Excel VBA概述
2.3.1 了解VBA编辑器
2.3.2 VBA的对象、属性、方法和事件
2.3.3 Excel中的对象简介
2.3.4 VBA编程基础
2.3.5 工作簿对象和工作表对象事件编程
2.3.6 窗体和控件
2.3.7 创建自定义工具栏和自定义菜单
2.4 ADO数据库访问技术概述
2.4.1 引用ADO
2.4.2 ADO的对象
2.4.3 记录集对象
2.4.4 关于ADOX
2.5 QL语言概述
2.5.1 SQL运算符
2.5.2 SQL合计函数
2.5.3 SQL常用语句
第3章 获取SQL Server数据库信息3.1 建立与SQL Server服务器的连接
3.2 建立与SQL Server数据库的连接
3.3 判断数据库是否存在
3.3.1 利用SQL语句判断数据库是否存在
3.3.2 利用存储过程判断数据库是否存在
3.4 判断数据表是否存在
3.4.1 利用SQL语句判断数据表是否存在
3.4.2 利用ADO的OpenSchema方法判断数据表是否存在
3.4.3 利用ADOX判断数据表是否存在
3.5 判断字段是否存在
3.5.1 利用SQL语句判断字段是否存在
3.5.2 利用ADO的OpenSchema方法判断字段是否存在
3.5.3 利用ADOX判断字段是否存在
3.5.4 利用查询记录集判断字段是否存在
3.6 判断索引是否存在
3.6.1 利用SQL语句判断索引是否存在
3.6.2 利用OpenSchema方法判断索引是否存在
3.6.3 利用ADOX判断索引是否存在
3.7 获取SQL Server服务器上所有的数据库清单
3.7.1 利用SQL语句获取数据库清单
3.7.2 利用存储过程获取数据库清单
3.8 获取指定数据库中所有的数据表信息清单
3.8.1 利用SQL语句获取数据表信息清单
3.8.2 利用ADO的OpenSchema方法获取数据表信息清单
3.8.3 利用ADOX获取数据表信息清单
3.9 获取指定数据表中所有的字段信息清单
3.9.1 利用SQL语句获取指定数据表的全部字段信息清单
3.9.2 利用OpenSchema方法获取指定数据表的全部字段信息清单
3.9.3 利用数据表查询记录集对象获取指定数据表的全部字段信息清单
3.9.4 利用ADOX获取指定数据表中所有字段信息清单
3.10 获取指定数据表中所有的索引清单
3.10.1 利用SQL语句获取指定数据表的全部索引信息清单
3.10.2 利用OpenSchema方法获取指定数据表的全部索引信息清单
3.10.3 利用ADOX获取指定数据表中所有索引信息清单
第4章 自动创建和删除SQL数据库和数据表4.1 创建数据库和数据表的基本方法
4.2 字段的数据类型
4.3 创建一个新的数据库和数据表
4.3.1 创建默认属性的新数据库和数据表
4.3.2 创建自定义属性的新数据库和数据表
4.4 重新设置数据库文件的属性
4.5 在已有的数据库中创建数据表
4.6 从SQL Server服务器上删除数据库
4.7 从指定的数据库中删除数据表
第5章 编辑SQL Server数据库和数据表5.1 重命名数据库
5.1.1 利用标准SQL语句重命名数据库
5.1.2 利用SQL语句重命名数据库
5.2 重命名数据表
5.2.1 利用标准SQL语句生成表查询的方法重命名数据表
5.2.2 利用SQL语句重命名数据表
5.3 编辑字段
5.3.1 利用SQL语句添加新字段
5.3.2 使用存储过程修改字段名称
5.3.3 使用SQL语句修改字段的数据类型和字段长度等
5.3.4 利用SQL语句删除字段
5.3.5 利用ADOX删除字段
5.4 编辑索引
5.4.1 利用SQL语句创建索引
5.4.2 利用SQL语句删除索引
5.4.3 利用ADOX删除索引
5.5 编辑外键
5.5.1 利用SQL语句创建外键
5.5.2 利用SQL语句删除外键
5.5.3 利用ADOX删除外键
5.6 设置默认值
5.6.1 在创建数据表时设置默认值
5.6.2 为现有的数据表字段设置默认值
5.6.3 删除数据表字段的默认值
第6章 查询SQL Server数据库概述6.1 SQL查询语言概述
6.1.1 SELECT查询语句的语法结构
6.1.2 SQL查询语言的有关函数
6.2 将查询结果复制到Excel工作表
6.2.1 利用Range对象的CopyFromRecordset方法复制查询结果
6.2.2 利用循环的方法复制查询结果
6.2.3 对复制到工作表的查询结果进行规范处理
6.3 将查询结果显示在窗体
6.3.1 将查询结果显示在窗体——利用ListView控件
6.3.2 将查询结果显示在窗体——利用浏览按钮
第7章 无条件查询7.1 范例数据库设计及使用
7.1.1 范例数据库设计
7.1.2 附加范例数据库到您的SQLServer服务器上
7.2 查询表中所有记录
7.3 查询表中所有记录的指定字段
7.4 查询结果不显示重复记录
7.5 查询前n条记录
7.6 查询前百分数n的记录
7.7 将表达式作为查询字段进行查询
7.8 将查询结果以别名输出
7.9 将字段合并并以别名查询输出
7.10 合并查询
第8章 条件查询8.1 WHERE条件子句的语法结构
8.2 WHERE条件子句中的运算符
8.2.1 关系运算符
8.2.2 逻辑运算符
8.2.3 特殊运算符
8.3 单条件查询
8.3.1 等于或不等于查询
8.3.2 列表（in或not in）查询
8.3.3 介于（between）查询
8.3.4 模糊（1ike）查询
8.3.5 是否为空（is null或is not null）查询
8.4 复杂条件查询
8.5 计算条件下的查询
第9章 排序查询9.1 ORDER BY排序查询的语法结构
9.2 将多个字段按照不同的排序方式进行排序
9.3 根据表达式对查询结果进行排序
9.4 根据字段别名对查询结果进行排序
9.5 根据字段位置对查询结果进行排序
第10章 汇总和分组查询10.1 聚合函数
10.2 使用聚合函数进行汇总查询
10.3 使用GROUP BY子句进行分组查询
10.4 使用HAVING子句进行分组查询
第11章 生成表查询11.1 INTO查询的语法结构
11.2 将查询结果生成一个永久新表
11.3 将查询结果追加到已有的表中
第12章 多表连接查询12.1 SELECT多表连接查询的语法结构
12.2 等值或非等值连接查询
12.3 自身连接查询
12.4 内连接查询
12.5 左外连接查询
12.6 右外连接查询
12.7 全外连接查询
第13章 嵌套查询13.1 嵌套查询的语法结构
13.2 返回单值的嵌套查询
13.3 返回多值的嵌套查询
13.3.1 IN（NOT IN）嵌套查询
13.3.2 SOME（ANY）嵌套查询
13.3.3 ALL嵌套查询
13.3.4 EXISTS（NOT EXISTS）嵌套查询
13.4 多层嵌套查询
第14章 编辑SQL Server数据库数据14.1 添加新记录
14.1.1 一次添加一条记录
14.1.2 一次添加多条记录
14.1.3 将工作表的数据添加到数据库
14.1.4 如何为某字段插入空值（NULL）
14.2 修改更新记录
14.2.1 一次修改一条记录
14.2.2 一次修改多条记录
14.3 删除记录
14.3.1 一次删除一条记录
14.3.2 一次删除多条记录
14.3.3 删除数据表的全部记录
14.4 编辑数据综合应用案例
14.4.1 设计窗体结构
14.4.2 设计程序代码
14.4.3 应用说明
第15章 数据维护15.1 备份数据库
15.1.1 利用企业管理器备份数据库
15.1.2 利用程序自动备份数据库
15.2 恢复数据库
15.2.1 利用企业管理器恢复数据库
15.2.2 利用程序自动恢复数据库
附录VBA参考
案例目录
参考文献