第1篇 基础知识 3
第1章 初识Visual Basic 6.0 3
1.1 Visual Basic简介 4
1.1.1 Visual Basic的发展 4
1.1.2 Visual Basic 6.0的特点 4
1.2 如何学好VB 5
1.2.1 VB可以做什么 5
1.2.2 学习VB的几点建议 6
1.3 VB 6.0的安装与管理 6
1.3.1 VB 6.0的运行环境 6
1.3.2 VB 6.0+SP6的安装 7
1.3.3 VB 6.0的更改或删除 9
1.4 VB 6.0的启动 10
1.4.1 通过“开始”菜单启动 10
1.4.2 通过快捷方式启动 10
1.5 VB 6.0的集成开发环境 12
1.5.1 集成开发环境简介 12
1.5.2 菜单栏 13
1.5.3 工具栏 15
1.5.4 工具箱 16
1.5.5 工程资源管理器 18
1.5.6 属性窗口 19
1.5.7 窗体布局窗口 20
1.5.8 窗体设计器 21
1.5.9 代码编辑窗口 21
1.6 定制开发环境 22
1.6.1 设置在编辑器中要求变量声明 22
1.6.2 设置网格大小和不对齐到网格 23
1.6.3 设置启动时保存 23
1.6.4 定制工具栏 24
1.6.5 为代码编辑器设置鼠标滚动 25
1.7 VB 6.0的帮助系统 26
1.7.1 MSDN Library的安装与使用 26
1.7.2 利用附带的实例源程序学习编程 28
1.7.3 使用VB的帮助菜单 29
1.8 创建第一个VB程序 29
1.8.1 创建工程文件 29
1.8.2 设计界面 30
1.8.3 编写代码 30
1.8.4 调试运行 31
1.8.5 保存工程 31
1.8.6 编译程序 32
1.9 小结 32
第2章 VB语言基础 33
2.1 关键字和标识符 34
2.2 数据类型 34
2.2.1 基本数据类型 35
2.2.2 记录类型 38
2.2.3 枚举类型 40
2.3 变量 40
2.3.1 什么是变量 41
2.3.2 变量的命名 41
2.3.3 变量的声明 42
2.3.4 变量的作用域 44
2.3.5 静态变量 45
2.3.6 变量同名问题的处理 46
2.3.7 变量的生命周期 47
2.4 常量 47
2.4.1 常量的声明 47
2.4.2 局部常量和全局常量 48
2.5 运算符和表达式 48
2.5.1 运算符 48
2.5.2 表达式 50
2.5.3 运算符的优先级 51
2.6 代码编写规则 51
2.6.1 对象命名规则 51
2.6.2 代码书写规则 53
2.6.3 处理关键字冲突 54
2.6.4 代码注释规则 54
2.7 小结 56
2.8 练习与实践 56
第3章 算法和程序控制结构 57
3.1 算法 58
3.1.1 什么是算法 58
3.1.2 算法的特性 59
3.1.3 算法的描述方法 59
3.1.4 构成算法的基本控制结构 61
3.2 顺序结构 64
3.2.1 赋值语句 64
3.2.2 数据的输入 66
3.2.3 数据的输出 67
3.3 选择结构 69
3.3.1 单分支If...Then语句 69
3.3.2 双分支If...Then...Else语句 71
3.3.3 If语句的嵌套 72
3.3.4 多分支If...Then...ElseIf语句 75
3.3.5 Select Case语句 77
3.3.6 IIf函数 78
3.4 循环结构 79
3.4.1 For...Next循环语句 79
3.4.2 For Each...Next循环语句 82
3.4.3 Do...Loop循环语句 83
3.4.4 嵌套循环 87
3.4.5 选择结构与循环结构的嵌套 88
3.5 其他辅助控制语句 89
3.5.1 跳转语句GoTo 89
3.5.2 复用语句With...End With 90
3.5.3 退出语句Exit 90
3.5.4 结束语句End 91
3.6 小结 92
3.7 练习与实践 92
第4章 数组的声明和应用 93
4.1 数组的概述 94
4.1.1 数组的概念 94
4.1.2 数组与简单变量的区别 95
4.2 数组的分类 95
4.2.1 静态数组 95
4.2.2 动态数组 97
4.2.3 一维数组 99
4.2.4 数组中的数组 100
4.2.5 二维数组及多维数组 101
4.3 数组的基本操作 102
4.3.1 数组元素的输入 103
4.3.2 数组元素的输出 104
4.3.3 数组元素的插入 104
4.3.4 数组元素的删除 105
4.3.5 数组元素的查找 105
4.3.6 数组元素的排序 106
4.4 记录数组 108
4.4.1 记录数组的概念 108
4.4.2 记录数组的使用 109
4.5 控件数组 109
4.5.1 控件数组的概念 109
4.5.2 创建控件数组 110
4.5.3 使用控件数组 110
4.6 数组相关函数及语句 113
4.6.1 Array函数 113
4.6.2 UBound函数和LBound函数 114
4.6.3 Split函数 114
4.6.4 Option Base语句 115
4.7 小结 116
4.8 练习与实践 116
第5章 过程的创建和使用 117
5.1 认识过程 118
5.2 事件过程 118
5.2.1 建立事件过程 119
5.2.2 调用事件过程 119
5.3 子过程(Sub过程) 120
5.3.1 建立子过程 120
5.3.2 调用子过程 122
5.3.3 调用其他模块中的子过程 123
5.4 函数过程(Function过程) 124
5.4.1 建立函数过程 124
5.4.2 调用函数过程 124
5.4.3 函数过程与子过程的区别 125
5.5 参数的传递 125
5.5.1 认识参数 125
5.5.2 参数按值和按地址传递 127
5.5.3 数组参数 128
5.5.4 对象参数 129
5.6 嵌套过程 130
5.7 递归过程 132
5.8 属性过程(Property过程) 133
5.8.1 使用属性过程建立类的属性 134
5.8.2 使用类属性 135
5.8.3 只读属性和对象属性 136
5.9 小结 136
5.10 练习与实践 136
第6章 内置函数与API函数 138
6.1 数学函数 138
6.1.1 Abs函数(求绝对值) 138
6.1.2 Exp函数(e的n次方) 138
6.1.3 Sgn函数(返回符号) 139
6.1.4 Sqr函数(平方根) 140
6.2 字符串函数 140
6.2.1 Len函数 140
6.2.2 Left和Right函数 141
6.2.3 Mid函数 142
6.2.4 Trim、RTrim、LTrim函数(去空格) 142
6.3 类型转换函数 143
6.3.1 Asc函数(转换为ASCII) 143
6.3.2 Chr函数(转换为字符) 143
6.3.3 Val函数(转换为数值型) 144
6.3.4 Str函数(转换为字符型) 144
6.4 判断函数 145
6.4.1 IsNull函数 145
6.4.2 IsNumeric函数 146
6.4.3 IsArray函数 146
6.5 日期和时间函数 147
6.5.1 Date函数、Now函数、Time函数 147
6.5.2 Timer函数 147
6.5.3 Weekday函数 148
6.5.4 Year、Month、Day函数(年、月、日) 150
6.5.5 Hour、Minute、Second函数(时、分、秒) 150
6.6 随机函数 151
6.6.1 Randomize函数 151
6.6.2 Rnd函数 152
6.7 格式化函数 153
6.8 API函数 155
6.8.1 API的概念 155
6.8.2 API的相关概念 157
6.9 API浏览器 158
6.9.1 启动API浏览器 158
6.9.2 API浏览器的加载 159
6.9.3 API浏览器的使用 160
6.10 API的使用 162
6.10.1 API函数的声明 162
6.10.2 API常数与类型 163
6.11 API函数的调用 164
6.12 小结 164
6.13 练习与实践 165
第2篇 核心技术 169
第7章 窗体和系统对象 169
7.1 窗体的概述 170
7.1.1 窗体的结构 170
7.1.2 模式窗体和无模式窗体 170
7.1.3 SDI窗体和MDI窗体 171
7.1.4 添加和移除窗体 173
7.1.5 加载(Load)与卸载(Unload)窗体 174
7.2 窗体的属性 175
7.2.1 名称(Name属性) 176
7.2.2 标题(Caption属性) 176
7.2.3 图标(Icon属性) 177
7.2.4 背景(Picture属性) 178
7.2.5 边框样式(BorderStyle属性) 179
7.2.6 显示状态(WindowsState属性) 180
7.2.7 显示位置(StartUpPosition属性) 181
7.3 窗体的方法 182
7.3.1 显示窗体(Show方法) 182
7.3.2 隐藏窗体(Hide方法) 183
7.3.3 移动窗体(Move方法) 183
7.4 窗体的事件 184
7.4.1 单击和双击(Click/DblClick事件) 184
7.4.2 载入和卸载(Load/QueryUnload/Unload事件) 185
7.4.3 活动性(Activate/Deactivate事件) 187
7.4.4 初始化(Initialize事件) 188
7.4.5 调整大小(Resize事件) 189
7.4.6 重绘(Paint事件) 190
7.4.7 焦点事件(GotFocus/LostFocus事件) 190
7.5 窗体事件的生命周期 191
7.5.1 窗体启动过程 191
7.5.2 窗体运行过程 192
7.5.3 窗体关闭过程 192
7.6 MDI窗体 194
7.6.1 MDI窗体概述 194
7.6.2 MDI窗体的添加和移除 195
7.6.3 MDI子窗体(MDIChild属性) 197
7.6.4 MDI程序的特点 198
7.6.5 MDI主窗体的设计 199
7.7 系统对象 200
7.7.1 应用程序对象(APP对象) 200
7.7.2 屏幕对象(Screen对象) 202
7.7.3 剪贴板对象(Clipboard对象) 203
7.7.4 调试对象(Debug对象) 203
7.8 小结 204
7.9 练习与实践 204
第8章 标准模块和类模块 205
8.1 标准模块 206
8.1.1 标准模块概述 206
8.1.2 添加标准模块 206
8.2 类模块 207
8.2.1 类模块的概述 207
8.2.2 添加类模块 208
8.3 标准模块和类模块的区别 209
8.4 小结 209
8.5 练习与实践 209
第9章 常用标准控件 211
9.1 控件概述 212
9.1.1 控件的作用 212
9.1.2 控件的属性、方法和事件 212
9.1.3 控件的分类 213
9.2 控件的相关操作 214
9.2.1 向窗体上添加控件 214
9.2.2 调整控件的大小 214
9.2.3 复制与删除控件 214
9.2.4 使用窗体编辑器调整控件布局 215
9.2.5 锁定控件 216
9.3 标签和文本框 217
9.3.1 标签(Label控件) 217
9.3.2 文本框(TextBox控件) 218
9.4 命令按钮 222
9.4.1 命令按钮的属性 222
9.4.2 命令按钮的事件 223
9.5 单选按钮、复选框及框架 224
9.5.1 单选按钮(OptionButton控件) 224
9.5.2 复选框(CheckBox控件) 226
9.5.3 框架(Frame控件) 226
9.6 列表框与组合框 228
9.6.1 列表框(ListBox控件) 228
9.6.2 组合框(ComboBox控件) 232
9.7 滚动条 234
9.8 Timer控件 237
9.9 小结 239
9.10 练习与实践 239
第10章 菜单、工具栏和状态栏 241
10.1 菜单概述 242
10.1.1 菜单的组成 242
10.1.2 菜单编辑器 243
10.2 标准菜单 245
10.2.1 创建最简菜单 245
10.2.2 设置菜单的快捷键和访问键 246
10.2.3 创建级联菜单 247
10.2.4 创建复选菜单 247
10.2.5 设置菜单分隔条 248
10.2.6 设置菜单无效 248
10.2.7 为菜单事件添加代码 249
10.3 弹出式菜单 249
10.3.1 弹出式菜单概述 249
10.3.2 PopupMenu方法 249
10.3.3 弹出式菜单的设计和调用 250
10.4 菜单数组 251
10.4.1 创建菜单数组 251
10.4.2 为菜单数组编写代码 252
10.5 工具栏设计 253
10.5.1 工具栏概述 253
10.5.2 利用Toolbar控件创建最简工具栏 253
10.5.3 为工具栏按钮添加图片 254
10.5.4 为工具栏按钮设置分组 255
10.5.5 为工具栏添加下拉菜单 256
10.5.6 为工具栏按钮添加事件处理代码 257
10.6 状态栏设计 258
10.6.1 状态栏概述 258
10.6.2 在状态栏中显示日期、时间 258
10.6.3 在状态栏中显示操作员信息 259
10.6.4 在状态栏中显示鼠标位置 260
10.7 小结 260
10.8 练习与实践 261
第11章 对话框 263
11.1 输入对话框(InputBox) 264
11.2 消息对话框(MsgBox) 265
11.3 公用对话框 267
11.3.1 公用对话框概述 267
11.3.2 “打开”对话框 269
11.3.3 “另存为”对话框 270
11.3.4 “颜色”对话框 272
11.3.5 “字体”对话框 272
11.3.6 “打印”对话框 274
11.3.7 “帮助”对话框 275
11.4 小结 275
11.5 练习与实践 275
第12章 常用ActiveX控件 277
12.1 ActiveX控件的使用 278
12.1.1 添加ActiveX控件 278
12.1.2 删除ActiveX控件 279
12.1.3 注册ActiveX控件 279
12.2 图像列表控件(ImageList) 281
12.2.1 认识ImageList控件 281
12.2.2 添加图像 281
12.2.3 与其他控件关联 283
12.2.4 创建组合图像 285
12.3 视图控件(ListView) 285
12.3.1 认识ListView控件 286
12.3.2 添加数据 286
12.3.3 用“ListView控件+数据表”创建报表视图 287
12.3.4 用ListView控件创建大图标视图 289
12.4 树状控件(TreeView) 290
12.4.1 认识TreeView控件 290
12.4.2 添加数据 290
12.4.3 删除指定节点数据 292
12.4.4 节点展开与折叠 292
12.4.5 用“TreeView控件+数据表”创建多级树状视图 293
12.5 选项卡控件(SSTab) 297
12.5.1 认识SSTab控件 297
12.5.2 设置选项卡数目和行数 298
12.5.3 在选项卡中添加控件 298
12.5.4 运行时启用和停用选项卡 298
12.5.5 定制不同样式的选项卡 299
12.5.6 图形化选项卡 300
12.6 进度条(ProgressBar) 301
12.6.1 认识ProgressBar控件 301
12.6.2 显示进展情况 302
12.6.3 将Max属性设置为已知的界限 302
12.6.4 隐藏ProgressBar控件 302
12.6.5 用ProgressBar控件显示清空数据的进度 302
12.7 日期/时间控件(DateTimePicker) 303
12.7.1 认识DateTimePicker控件 304
12.7.2 设置和返回日期 304
12.7.3 实时读取DTPicker控件中的日期 305
12.7.4 使用CheckBox属性来选择无日期 305
12.7.5 使用日期和时间的格式 305
12.7.6 使用DTPicker控件计算日期或天数 307
12.8 小结 308
12.9 练习与实践 308
第13章 鼠标键盘处理 309
13.1 鼠标指针的设置 310
13.1.1 设置鼠标指针形状 310
13.1.2 设置鼠标指针为指定的图片 311
13.1.3 设置鼠标指针为指定的动画 311
13.2 鼠标事件的响应 312
13.2.1 鼠标单击和双击(Click事件和DblClick事件) 313
13.2.2 鼠标按下和抬起(MouseDown事件和MouseUp事件) 313
13.2.3 鼠标移动(MouseMove事件) 314
13.2.4 鼠标拖放(OLE拖放操作) 315
13.3 键盘事件的响应 319
13.3.1 ASCII码 319
13.3.2 KeyDown事件和KeyUp事件的使用 319
13.3.3 KeyPress事件的使用 322
13.4 小结 323
13.5 练习与实践 323
第14章 程序调试和错误处理 325
14.1 错误类型 326
14.1.1 编译错误 326
14.1.2 运行错误 327
14.1.3 逻辑错误 327
14.2 工作模式 327
14.2.1 设计模式 328
14.2.2 运行模式 328
14.2.3 中断模式 328
14.3 调试工具及使用 328
14.3.1 调试工具栏的使用 329
14.3.2 本地窗口的使用 329
14.3.3 立即窗口的使用 330
14.3.4 监视窗口的使用 330
14.3.5 插入断点和逐语句跟踪 332
14.4 错误处理语句和对象 332
14.4.1 Err对象 332
14.4.2 捕获错误(On Error语句) 333
14.4.3 退出错误处理(Resume语句) 334
14.4.4 编写错误处理函数 335
14.5 小结 335
第15章 文件系统编程 337
15.1 文件的基本概念 338
15.1.1 文件的结构 338
15.1.2 文件的分类 338
15.1.3 文件处理的一般步骤 339
15.2 文件系统控件 339
15.2.1 驱动器列表框(DriveListBox控件) 340
15.2.2 目录列表框(DirListBox控件) 341
15.2.3 文件列表框(FileListBox控件) 343
15.2.4 文件系统控件的联动 346
15.3 文件的操作语句 347
15.3.1 改变当前驱动器(ChDrive语句) 347
15.3.2 改变目录或文件夹(ChDir语句) 348
15.3.3 删除文件(Kill语句) 348
15.3.4 创建目录或文件夹(MkDir语句) 350
15.3.5 复制文件(FileCopy语句) 350
15.3.6 重命名(Name语句) 351
15.3.7 设置文件属性(SetAttr语句) 352
15.4 常用的文件操作函数 352
15.4.1 获取路径(CurDir函数) 352
15.4.2 获取文件属性(GetAttr函数) 353
15.4.3 获取文件创建或修改时间(FileDateTime函数) 354
15.4.4 返回文件长度(FileLen函数) 354
15.4.5 测试文件结束状态(EOF函数) 354
15.4.6 获取打开文件的大小(LOF函数) 355
15.5 顺序文件 355
15.5.1 顺序文件的打开与关闭 356
15.5.2 顺序文件的读取操作 357
15.5.3 顺序文件的写入操作 360
15.6 随机文件 362
15.6.1 随机文件的打开与关闭 362
15.6.2 读取随机文件 362
15.6.3 写入随机文件 363
15.7 二进制文件 365
15.7.1 二进制文件的打开与关闭 365
15.7.2 二进制文件的读取与写入操作 365
15.8 小结 367
15.9 练习与实践 367
第3篇 高级应用 371
第16章 图形图像技术 371
16.1 图形图像处理基础 372
16.1.1 系统颜色 372
16.1.2 在对象浏览器中查看系统颜色常量 372
16.1.3 QBColor函数 373
16.1.4 RGB函数 373
16.2 坐标系统 374
16.2.1 默认的坐标系统 374
16.2.2 自定义的坐标系统 374
16.3 图形外观效果 376
16.3.1 绘图坐标 376
16.3.2 图形位置和大小 376
16.3.3 图形的边框效果 377
16.3.4 绘制效果 378
16.3.5 前景色和背景色 378
16.3.6 填充效果 379
16.4 绘图方法 379
16.4.1 画点 379
16.4.2 画线 380
16.4.3 画圆 381
16.4.4 清屏 382
16.4.5 获取颜色值 383
16.4.6 绘制图形 383
16.5 图像处理函数 384
16.5.1 加载图像(LoadPicture函数) 384
16.5.2 保存图片(SavePicture函数) 384
16.6 图形、图像处理控件 385
16.6.1 Shape控件 385
16.6.2 Line控件 386
16.6.3 PictureBox控件 386
16.6.4 Image控件 387
16.7 小结 388
16.8 练习与实践 388
第17章 多媒体技术 391
17.1 MMControl控件 392
17.1.1 认识MMControl控件 392
17.1.2 MMControl控件的属性 392
17.1.3 MMControl控件的事件 397
17.2 Animation控件 398
17.2.1 认识Animation控件 398
17.2.2 Animation控件的属性 398
17.2.3 Animation控件的方法 399
17.3 MediaPlay控件 400
17.3.1 认识MediaPlay控件 401
17.3.2 MediaPlay控件的属性 401
17.3.3 MediaPlay控件的方法 402
17.4 ShockwaveFlash控件 403
17.4.1 认识ShockwaveFlash控件 403
17.4.2 ShockwaveFlash控件的属性 404
17.4.3 ShockwaveFlash控件的方法 405
17.4.4 ShockwaveFlash控件的事件 405
17.5 DirectX 406
17.5.1 下载和安装DirectX 406
17.5.2 在VB中使用DirectX 407
17.5.3 利用DirectSound编程实现实时混音 407
17.6 多媒体综合应用 410
17.6.1 CD播放器 410
17.6.2 VCD播放器 411
17.6.3 多媒体演示程序 413
17.7 小结 414
17.8 练习与实践 414
第18章 SQL应用 415
18.1 数据库的基本知识 416
18.1.1 什么是数据库 416
18.1.2 数据库软件的安装和使用 416
18.2 SQL基础 421
18.2.1 什么是SQL 421
18.2.2 执行SQL语句的工具 422
18.3 检索数据(SELECT子句) 423
18.3.1 SELECT子句 424
18.3.2 检索单个列 425
18.3.3 检索多个列 425
18.3.4 检索所有列 426
18.4 排序检索数据(ORDERBY子句) 426
18.4.1 排序数据 426
18.4.2 按多个列排序 426
18.4.3 按列位置排序 427
18.4.4 指定排序方向 427
18.4.5 对新生成的列进行排序 428
18.5 过滤数据(WHERE子句) 428
18.5.1 使用WHERE子句 429
18.5.2 WHERE子句比较运算符 429
18.5.3 检索指定范围的值 430
18.5.4 模式条件查询 430
18.5.5 组合条件查询(AND、OR和NOT) 431
18.6 高级查询 432
18.6.1 汇总数据 432
18.6.2 分组统计 433
18.6.3 子查询 433
18.7 插入数据 434
18.7.1 插入完整的行 434
18.7.2 插入部分行 434
18.7.3 插入检索出的数据 435
18.7.4 将一个表中的数据复制到另一个表 435
18.8 修改和删除数据 436
18.8.1 修改数据 436
18.8.2 删除数据 437
18.9 小结 437
18.10 练习与实践 437
第19章 数据库开发技术 439
19.1 VB访问数据库 440
19.2 ODBC 440
19.2.1 认识ODBC 440
19.2.2 配置ODBC数据源 441
19.3 DAO对象 443
19.3.1 引用DAO对象 443
19.3.2 DAO对象的子对象 444
19.3.3 DAO对象的综合应用 448
19.4 Data控件 451
19.4.1 认识Data控件 451
19.4.2 用Data控件连接数据库 452
19.4.3 Data控件的综合应用 453
19.5 ADO对象 454
19.5.1 引用ADO对象 454
19.5.2 ADO对象的子对象 455
19.5.3 连接多种数据库(Connection对象) 455
19.5.4 连接记录源(Recordset对象) 457
19.5.5 执行SQL语句(Command对象) 458
19.5.6 ADO对象的综合应用 459
19.6 ADO控件 461
19.6.1 认识ADO控件 461
19.6.2 用ADO控件连接各种数据源 462
19.6.3 用ADO控件连接记录源 464
19.6.4 ADO控件常用属性、方法和事件 464
19.6.5 ADO控件的综合应用 465
19.7 小结 466
19.8 练习与实践 467
第20章 数据库控件 469
20.1 DBCombo和DBList控件 470
20.2 DataCombo和DataList控件 471
20.2.1 认识DataCombo和DataList控件 471
20.2.2 DataCombo和DataList控件的属性 471
20.2.3 显示关系表中的数据 472
20.3 DataGrid控件 474
20.3.1 认识DataGrid控件 474
20.3.2 用DataGrid控件显示数据 474
20.3.3 格式化数据 476
20.3.4 锁定数据 477
20.3.5 将DataGrid控件中的数据显示在文本框中 477
20.4 MSFlexGrid和MSHFlexGrid控件 478
20.4.1 认识MSHFlexGrid控件 478
20.4.2 用MSHFlexGrid控件显示数据 479
20.4.3 数据排序与合并 481
20.4.4 隐藏行或列 482
20.4.5 冻结字段 482
20.5 小结 483
20.6 练习与实践 483
第21章 网络编程技术 485
21.1 网络基础知识 486
21.1.1 OSI参考模型 486
21.1.2 HTTP协议 486
21.1.3 FTP协议 486
21.2 Winsock控件编程 487
21.2.1 TCP与UDP基础 487
21.2.2 Winsock控件 487
21.2.3 开发客户端/服务器端聊天程序 491
21.3 Internet Transfer控件编程 493
21.3.1 Internet Transfer控件 493
21.3.2 文件上传与下载 495
21.4 WebBrowser控件编程 498
21.4.1 WebBrowser控件 498
21.4.2 制作自己的浏览器 499
21.5 小结 501
21.6 练习与实践 501
第4篇 项目实战 505
第22章 企业进销存管理系统 505
22.1 系统分析 506
22.1.1 需求分析 506
22.1.2 可行性分析 506
22.1.3 编写项目计划书 507
22.2 系统设计 509
22.2.1 系统目标 509
22.2.2 系统功能结构 509
22.2.3 系统业务流程图 510
22.2.4 系统编码规范 511
22.3 系统运行环境 513
22.4 数据库与数据表设计 513
22.4.1 数据库分析 513
22.4.2 创建数据库 514
22.4.3 创建数据表 515
22.4.4 数据表逻辑关系 518
22.5 创建项目 520
22.6 公共模块设计 520
22.6.1 主函数 521
22.6.2 数据库连接函数 521
22.6.3 拼音简码函数 522
22.7 启动窗体的设计 523
22.7.1 设计窗体界面 523
22.7.2 添加资源文件 524
22.7.3 代码注册Flash控件 525
22.7.4 调用Flash动画 526
22.8 系统登录窗体设计 526
22.8.1 设计窗体界面 527
22.8.2 向ListView控件中添加用户名 528
22.8.3 添加用户名和编号 529
22.8.4 判断用户名和密码 529
22.8.5 移动无标题栏窗体 530
22.9 主窗体设计 531
22.9.1 设计窗体界面 531
22.9.2 设计菜单栏 532
22.9.3 利用Flash设计工具栏 533
22.9.4 利用图片设计浮动工具栏 534
22.9.5 设计状态栏 536
22.10 商品进货模块设计 537
22.10.1 设计窗体界面 537
22.10.2 窗体初始化 539
22.10.3 商品信息录入 540
22.11 库存状况模块设计 541
22.11.1 设计窗体界面 542
22.11.2 窗体初始化 544
22.11.3 库存上下限设置 544
22.11.4 自定义过程向MSFlexGrid控件中添加数据 545
22.12 月销售状况模块设计 546
22.12.1 设计窗体界面 546
22.12.2 统计全年商品销售状况 547
22.12.3 设计“每月销售比较”窗体界面 548
22.12.4 利用图表分析月销售状况 549
22.13 系统用户及权限设置模块设计 553
22.13.1 设计窗体界面 553
22.13.2 窗体初始化 554
22.13.3 工具栏按钮 554
22.13.4 执行操作 555
22.14 运行项目 556
22.15 程序打包 558
22.16 开发常见问题与解决 559
22.16.1 书写错误的函数名 559
22.16.2 提示文件未找到错误信息 559
22.16.3 解决用户定义类型未定义的问题 560
22.16.4 数据批量录入 561
22.16.5 使用数据回滚来恢复数据备份 563
22.16.6 字段大小问题导致数据添加失败 563
22.16.7 字段设置主键后不能插入重复值 564
22.16.8 数据库中表存在关系,如何进行数据库清理 564
22.17 小结 565