本书以使用Visual Basic开发数据库系统用到的实用技术为中心,全面、系统介绍了使用Visual Basic和SQL Server进行数据库系统开发必须掌握技术、方法和过程。本书分3大部分,第一部分为Visual Basic编程篇,主要介绍使用Visual Basic开发数据库系统必须掌握的技术,这些技术最大限度地与实际项目案例相结合。第二部分为数据库应用篇,主要介绍SQL Server数据库安装、管理、开发及维护的相关技术。第三部分为实例应用篇,精选了当前应用较广泛的数据库管理系统,内容包括定制自己的工作环境、采购管理系统、商品销售管理系统、库存管理系统、人事档案管理系统、固定资产及设备管理系统、物资管理系统。这些系统既可以独立使用,也可作为企业综合管理系统的重要组成部分。本书附有配套光盘。光盘提供了书中所有案例的全部源代码,所有源代码都经过精心调试,在Windows XP和Windows 2000下全部测试通过,保证能够正常运行。本书内容精练、重点突出、实例丰富,是各级程序开发人员必备的和不可多得的参考书,本书也非常适合大中专院校师生学习参考。 第1篇 Visual Basic编程篇第1章 Visual Basic开发环境概述 31.1 Visual Basic 6.0的安装与启动 41.1.1 Visual Basic 6.0的运行环境 41.1.2 Visual Basic 6.0快速安装 41.1.3 启动Visual Basic 6.0 51.2 Visual Basic 6.0的集成开发环境 61.2.1 Visual Basic 6.0的菜单系统 71.2.2 认识工具栏 81.2.3 工具箱 91.2.4 工程资源管理器 91.2.5 属性窗口 101.2.6 窗体设计器 111.2.7 代码窗口 111.2.8 窗体布局窗口 121.2.9 对象浏览窗口 12第2章 创建应用程序 132.1 对象概述 132.1.1 对象的概念 132.1.2 对象的属性 142.1.3 对象的事件 142.1.4 事件过程 142.1.5 对象方法 152.1.6 设置对象的属性 152.2 认识Visual Basic窗体 162.2.1 窗体的概念 162.2.2 窗体的结构 172.2.3 添加和删除窗体 172.2.4 多窗体用户界面 202.3 窗体的属性 212.3.1 更换窗体的图标 212.3.2 隐藏窗体的标题栏 222.3.3 控制窗体的显示位置 222.3.4 修改窗体的大小 232.3.5 设置具有图像背景的窗体 232.4 窗体的方法 242.4.1 加载和卸载窗体 242.4.2 窗体的显示与隐藏 252.4.3 将数据输出到窗体上 262.5 窗体的事件 272.5.1 Click(单击)事件 272.5.2 DblClick(双击)事件 272.5.3 Load(载入)事件 272.5.4 Unload(卸载)事件 282.6 控件与窗体 282.6.1 向窗体中添加控件 282.6.2 控件对齐 292.6.3 调整光标在控件上移动的先后顺序 292.6.4 调整控件在窗体上的前后顺序 302.6.5 删除及恢复误删除的控件 302.7 常用控件 312.7.1 Label控件 312.7.2 CommandButton控件 332.7.3 TextBox控件 342.7.4 OptionButton控件 362.7.5 CheckBox控件 362.7.6 Image控件 372.7.7 PictureBox控件 372.7.8 ListBox控件 392.7.9 ComboBox控件 402.7.10 Timer控件 412.7.11 CommonDialog控件 422.8 创建一个数据库应用程序 432.8.1 基本流程 442.8.2 新建工程 442.8.3 窗体设计 442.8.4 程序代码设计 452.8.5 运行程序 452.8.6 程序调试 462.8.7 保存工程及生成Windows的可执行文件 48第3章 菜单、工具栏与状态栏的设计 493.1 菜单的创建与设计 493.1.1 菜单的组成 493.1.2 菜单编辑器 503.1.3 创建级联菜单 523.1.4 设计菜单组的分隔线 523.1.5 为菜单指定访问键 523.1.6 为菜单增加快捷键 533.1.7 创建弹出式菜单 533.1.8 显示菜单控件上的复选标志 543.1.9 给菜单增加事件处理代码 543.1.10 创建菜单数组 543.1.11 修饰菜单 553.2 工具栏的创建与设计 563.2.1 利用ToolBar控件创建工具栏 563.2.2 为工具栏按钮分组 603.2.3 给工具栏按钮增加事件处理代码 613.2.4 利用CoolBar控件制作工具栏 613.3 状态栏的创建与设计 643.3.1 状态栏简介 643.3.2 添加状态栏 643.3.3 状态栏控件StatusBar的常用属性及事件介绍 643.3.4 设置状态栏 653.3.5 设计显示日期的状态栏 663.3.6 状态栏与鼠标操作同步 66第4章 数据窗体设计 684.1 使用Visual Basic设计数据窗体 684.1.1 数据录入窗体的设计 684.1.2 查询窗体的设计 724.1.3 系统登录窗体的设计 744.1.4 数据统计窗体的设计 764.2 使用数据窗体向导设计数据窗体 784.2.1 创建一个简单的数据窗体 784.2.2 创建主要/明细数据窗体 82第5章 使用DAO、ADO技术操作数据库 845.1 DAO概述 845.2 DAO的应用 845.2.1 引用DAO 845.2.2 DBEngine对象 855.2.3 Workspace对象 855.2.4 Connection对象 865.2.5 Database对象 875.2.6 Recordset对象 875.3 使用DAO对象创建数据库 885.3.1 创建数据库 895.3.2 创建表 895.3.3 设计表中的字段 895.4 使用DAO对象连接数据库 895.5 使用对象方法实现数据的增加、修改及删除 905.5.1 使用DAO对象增加记录 905.5.2 使用DAO对象修改记录 905.5.3 使用DAO对象删除记录 905.6 Data控件的应用 915.6.1 Data控件的相关属性 915.6.2 Data控件的使用方法 935.6.3 使用Data控件连接Access数据库 945.6.4 Data控件的应用 955.7 ADO技术概述 965.7.1 ADO的主要功能与特性 965.7.2 ADO对象模型简介 975.7.3 ADO的编程模型 975.8 在Visual Basic中使用ADO对象 985.8.1 使用Connection对象连接不同类型的数据库 985.8.2 使用Recordset对象打开表 1005.8.3 使用Command对象执行SQL语句 1015.8.4 使用ADO对象查询数据的技巧 1025.8.5 使用ADO对象实现数据的增加、修改及删除 103第6章 使用数据控件 1056.1 ADO Data控件 1056.1.1 ADO Data控件的功能 1056.1.2 ADO Data控件的使用方法 1066.1.3 使用ADO Data控件连接Access数据库 1066.1.4 使用ADO Data控件的AddNew方法向表中增加一条记录 1096.1.5 使用ADO Data控件的RecordSource属性查询记录 1106.1.6 使用ADO Data控件的Delete方法删除一条记录 1116.1.7 使用MoveFirst、MoveLast、MoveNext和MovePrevious移动记录 1126.1.8 使用Update方法修改记录 1136.2 DataGrid控件 1146.2.1 显示数据或查询结果 1146.2.2 格式化数据 1166.2.3 锁定数据 1176.2.4 将单元格中的数据显示在文本框中 1176.3 DataCombo和DataList控件 1186.3.1 显示数据 1186.3.2 显示关系表中的数据 1196.4 MSHFlexGrid控件 1216.4.1 MSHFlexGrid控件的基本应用 1216.4.2 数据的合并与排序 1226.4.3 显示层次结构的数据 1236.4.4 隐藏某些行或列 126第7章 数据环境设计器与报表打印 1277.1 数据环境设计器 1277.1.1 添加数据环境Data Environment 1277.1.2 添加Connection对象 1287.1.3 使用Connection对象连接数据源 1287.1.4 创建Command对象 1297.1.5 在窗体中应用数据环境 1317.1.6 命令对象的层次结构 1327.2 报表打印 1357.2.1 数据报表设计器的功能 1357.2.2 在工程中添加数据报表设计器 1367.2.3 初识数据报表设计器 1367.2.4 数据报表设计器的对象 1377.2.5 DataReport对象的属性和方法 1387.2.6 一个简单的报表 1397.2.7 向报表中添加日期、时间、页码 1417.2.8 分组统计报表 1427.2.9 导出报表为HTML文件 143第8章 程序调试与错误处理 1458.1 程序调试 1458.1.1 调试工具栏 1458.1.2 中断程序 1468.1.3 跟踪调试程序 1478.1.4 在"立即"窗口中调试代码 1488.1.5 使用监视窗口 1498.1.6 使用本地窗口 1508.1.7 使用快速监视 1508.1.8 Debug对象 1508.2 错误处理 1518.2.1 Err对象 1518.2.2 捕获错误 1528.2.3 退出错误处理语句 152第2篇 数据库应用篇第9章 创建和使用Access数据库 1559.1 可视化数据管理器(VisData) 1559.1.1 创建数据库 1559.1.2 向数据库中添加表 1569.1.3 索引的建立与维护 1599.1.4 维护数据表的结构 1609.1.5 维护数据表中的记录 1629.1.6 查找数据表中的记录 1649.1.7 导入、导出数据库 1659.1.8 压缩与修复数据库 1689.2 在Microsoft Access中创建和使用数据库 1709.2.1 Microsoft Access简介 1709.2.2 创建数据库 1719.2.3 设计表 1729.2.4 建立及维护数据表之间的关系 1749.2.5 数据库操作 176第10章 管理SQL Server 2000 17910.1 SQL Server 数据库简介 17910.2 安装SQL Server 17910.3 配置服务器 18310.3.1 启动、暂停和停止SQL Server服务器 18310.3.2 注册SQL Server 2000服务器 18310.3.3 编辑SQL Server 2000注册信息 18510.4 脚本与批处理 18610.4.1 将数据库生成脚本 18610.4.2 将指定表生成脚本 18710.4.3 执行脚本 18710.4.4 批处理 18910.5 备份和还原数据库 18910.5.1 备份和还原的概念 18910.5.2 数据库备份 18910.5.3 数据库还原 19110.6 分离和附加数据库 19110.6.1 分离数据库 19110.6.2 附加数据库 19210.7 导入、导出数据表 19310.7.1 导入数据库 19310.7.2 导入SQL Server数据表 19310.7.3 导入其他数据源的数据表 19510.7.4 导出数据库 19710.7.5 导出SQL Server数据表 197第11章 创建和维护SQL Server 19911.1 SQL Server数据库概述 19911.1.1 SQL Server数据库文件分类 19911.1.2 SQL Server数据库对象 19911.2 设计数据库 20011.2.1 创建数据库 20011.2.2 创建数据表 20411.2.3 删除数据库 20611.2.4 删除数据表 20811.3 索引的建立与维护 20911.3.1 建立索引 20911.3.2 查看索引 21011.3.3 删除索引 21111.4 关系的建立与维护 21111.4.1 创建关系 21111.4.2 删除关系 21411.5 维护数据表 21511.5.1 在表结构中添加新字段 21511.5.2 在表结构中删除字段 21611.5.3 数据表更名 217第12章 编辑SQL Server数据库 21812.1 录入和修改数据 21812.1.1 添加新记录 21812.1.2 记录修改 21912.1.3 删除记录 21912.2 浏览数据 22012.3 查找数据 22112.3.1 查找指定行记录 22112.3.2 查找第一条记录 22212.3.3 使用SQL语句查找记录 222第13章 数据查询与更新(SQL语句) 22413.1 在SQL Server中创建查询和测试查询 22413.1.1 编写SQL语句 22413.1.2 测试SQL语句 22513.1.3 执行SQL语句 22513.2 在Visual Basic环境下查询数据 22513.3 查询与排序 22613.3.1 利用ORDER BY语句对数据库中的记录进行排序 22613.3.2 将查询结果升序排列 22713.3.3 将查询结果降序排列 22713.3.4 按多个字段排序 22813.3.5 按控件中的内容排序 22813.4 查询统计 22813.4.1 汇总查询结果 22813.4.2 在查询结果中求最大值和最小值 22913.4.3 在查询结果中求平均值 22913.4.4 分组统计 23013.5 区间查询 23013.5.1 查询数值区间的数据 23013.5.2 查询日期区间的数据 23113.6 复杂查询 23113.6.1 子查询 23113.6.2 联接 23213.6.3 内联接 23213.6.4 外联接 23313.6.5 交叉联接 23413.7 数据添加 23513.7.1 Insert语句介绍 23513.7.2 Insert语句基本应用 23613.8 数据修改 23613.8.1 Update语句介绍 23613.8.2 Update语句基本应用 23613.9 数据删除 23713.9.1 Delete语句介绍 23713.9.2 Delete语句基本应用 237第14章 视图与存储过程 23814.1 设计视图 23814.1.1 创建视图 23814.1.2 修改视图 24114.1.3 删除视图 24214.2 存储过程 24314.2.1 存储过程的基本概念 24314.2.2 建立存储过程 24314.2.3 存储过程的执行 24614.2.4 修改和删除存储过程 24614.2.5 存储过程在Visual Basic当中的应用 248第3篇 实例开发篇第15章 定制自己的工作环境 25315.1 通用选项设置 25315.1.1 设置窗体的网格 25315.1.2 错误捕获 25415.1.3 编译 25415.2 编辑器与编辑器格式 25415.2.1 编辑器选项 25415.2.2 编辑器格式 25515.3 环境设置 25615.4 控件设置 25615.4.1 设置自己常用的ActiveX控件 25615.4.2 设置自己常用的设计器 25715.4.3 设置自己常用的引用 258第16章 VisuaL Basic 6.0在采购管理系统中的应用 25916.1 采购管理系统简介 25916.2 系统功能描述 26016.2.1 系统规则 26016.2.2 业务流程 26116.3 数据库设计 26116.3.1 数据库概念设计 26116.3.2 数据库逻辑结构设计 26116.4 主窗体设计 26216.5 采购订单窗体的设计分析 26516.6 到货管理窗体的设计分析 26816.7 库存管理窗体的设计分析 27016.8 退货管理窗体的设计分析 27216.9 疑难问题的分析与解答 27416.9.1 打印报表先后次序问题的实现 27416.9.2 分批到货的实现 27516.10 程序调试及错误处理 27616.11 程序设计清单 27816.12 系统运行 279第17章 Visual Basic 6.0在商品销售管理系统中的应用 28317.1 商品销售管理系统概述 28317.1.1 开发背景 28317.1.2 系统的主要功能 28317.1.3 系统结构总图 28417.2 系统分析与设计 28417.2.1 需求分析 28417.2.2 业务流程 28417.3 数据库设计 28517.3.1 创建数据库 28517.3.2 创建表、索引和关系 28517.3.3 主要表的结构及其关系图 28717.4 配置ODBC数据源与连接数据库 28917.4.1 配置ODBC数据源 28917.4.2 使用ADO Data控件连接数据库 29217.5 模块的设计 29517.6 程序设计与编码 29617.6.1 主程序设计 29617.6.2 销售开单设计 30217.6.3 客户结款设计 30917.6.4 销售报表设计 31117.6.5 系统初始化设计 31117.7 疑难问题分析解决 31317.7.1 如何将数据表中的字段添加到ComboBox组合框中 31317.7.2 如何按控件中的字段、查询条件和用户输入的内容进行查询 31417.7.3 如何将DataGrid表格中的信息赋给TextBox控件 31417.8 程序调试与错误处理 31517.8.1 程序调试 31517.8.2 错误处理 31617.9 程序设计清单 31817.9.1 程序设计清单 31817.9.2 程序设计清单(文字说明) 319第18章 VisuaL Basic 6.0在库存管理系统中的应用 32018.1 库存管理系统概述 32018.1.1 库存管理系统简介 32018.1.2 系统流程图 32018.2 系统设计 32118.2.1 系统功能描述 32118.2.2 系统结构总图 32218.3 创建数据库 32218.3.1 数据库概念设计 32218.3.2 数据库逻辑结构设计 32318.4 主窗体设计 32518.5 报表的设计 32818.5.1 出库报表设计 32818.5.2 库存报表设计 32918.6 程序设计与编码 33118.6.1 供应商信息维护 33118.6.2 货品入库管理 33418.6.3 货品出库管理 33818.6.4 货品借出管理 34118.6.5 货品归还管理 34418.6.6 库存信息查询 34718.6.7 出入库现金年统计 34818.7 疑难问题分析解决 35118.7.1 如何在主窗体界面中添加窗体分割条 35118.7.2 如何使应用程序自动适应屏幕的分辨率 35218.8 程序调试与故障处理 35318.9 程序设计清单 35418.10 技术、经验总结 355第19章 Visual Basic 6.0在人事档案管理系统中的应用 35719.1 人事档案管理系统基础概要 35719.1.1 需求分析概要 35719.1.2 系统功能概要 35719.2 系统结构设计 35719.2.1 系统结构总图 35719.2.2 数据库的设计与创建 35819.3 工程管理 36319.3.1 工程中的文件 36319.3.2 创建、打开和保存工程 36419.3.3 添加、删除和保存文件 36519.3.4 生成可执行文件 36519.4 主程序界面的设计 36619.5 功能模块的设计 36719.5.1 Module1.Bas公共模块 36719.5.2 人事档案管理设计 36719.5.3 人事变动设计 37419.5.4 档案统计设计 37719.6 报表的设计 37819.7 数据库安全设计 38319.7.1 数据备份 38319.7.2 数据恢复 38419.8 疑难问题分析解决 38519.8.1 如何打印DataGrid表格中的查询结果 38519.8.2 如何按"分类字段"统计员工人数 38519.8.3 如何计算加班时数 38519.9 程序调试与故障处理 38619.9.1 程序调试 38619.9.2 故障处理 38719.10 程序设计清单 389第20章 Visual Basic 6.0在固定资产及设备管理系统中的应用 39020.1 通用固定资产及设备管理系统概述 39020.1.1 通用固定资产及设备管理系统简介 39020.1.2 系统功能的描述 39020.1.3 业务流程 39120.2 数据库设计 39120.2.1 数据库概念设计 39120.2.2 数据库逻辑设计 39220.3 主窗体设计 39320.4 数据模块 39420.5 程序设计与编码 39520.5.1 资产设备借出归还窗体的设计 39520.5.2 资产设备移动窗体的设计 39820.5.3 资产设备维修管理窗体的设计 40020.5.4 资产设备折旧窗体的设计 40220.6 程序调试及错误处理 40420.7 程序设计清单 40720.8 技术、经验总结 40820.8.1 技术总结 40820.8.2 经验总结 409第21章 Visual Basic 6.0在物资管理系统中的应用 41021.1 物资管理系统概述 41021.1.1 系统开发背景 41021.1.2 系统的具体功能 41021.2 系统结构设计 41121.2.1 系统结构总图 41121.2.2 业务流程 41121.3 数据库设计 41221.4 程序主界面设计 41621.5 公用模块设计 41821.6 程序设计与编码 41921.6.1 供应商资料管理窗体的设计 41921.6.2 进货管理窗体的设计 42421.6.3 物资送检窗体的设计 42921.6.4 送检查询窗体的设计 43121.7 疑难问题分析解决 43321.7.1 如何制作通用的查询窗口 43321.7.2 如何根据数据字段的类型自动格式化DataGrid表格中的数据 43521.8 程序调试与错误处理 43621.9 程序设计清单 436第22章 Visual Basic 6.0在医院门诊管理系统中的应用 43822.1 医院门诊管理系统简介 43822.2 系统功能结构设计 43922.3 数据库设计 43922.3.1 设计数据库 43922.3.2 创建数据库 44122.3.3 设计表结构 44622.3.4 创建表 44922.4 Visual Basic工程结构 45222.4.1 标准模块 45322.4.2 窗体模块 45322.4.3 Sub Main过程 45322.5 窗体的设计 45422.5.1 主程序窗体的设计 45422.5.2 计价收费窗体设计 45822.5.3 门诊退费窗体设计 46322.5.4 药品维护设计 46722.5.5 收款员日结报表设计 47322.5.6 结账统计报表设计 47922.5.7 就诊科室统计报表设计 48322.6 打印报表 48422.6.1 PrintForm方法 48422.6.2 Printer对象 48422.7 疑难问题分析解决 48622.7.1 如何显示系统日期的星期数 48622.7.2 如何响应键盘的KeyPress事件 48622.8 程序调试与错误处理 48722.9 程序运行结果 48822.10 程序设计清单 490第23章 Visual Basic 6.0在医院住院管理系统中的应用 49123.1 医院住院管理系统概述 49123.1.1 医院住院管理系统简介 49123.1.2 系统规则 49123.1.3 业务流程 49223.2 数据库设计 49323.2.1 数据库概念设计 49323.2.2 数据库逻辑结构设计 49323.3 主窗体设计 49523.4 公共模块的设计 49623.5 程序设计与编码 49723.5.1 用户注册窗体的设计实现 49723.5.2 数据备份与恢复窗体的设计实现 49823.5.3 电子病历窗体的设计实现 50123.5.4 交费管理窗体的设计分析 50523.5.5 住院查询窗体的设计实现 50823.6 程序调试及错误处理 50923.7 系统运行 51123.8 程序设计清单 51523.9 技术、经验总结 51623.9.1 技术总结 51623.9.2 经验总结 517