第1章 Access基本对象设计1.1 Access基本界面 1
1.1.1 程序标题栏 1
1.1.2 主菜单栏 2
1.1.3 工具栏 2
1.1.4 设计表视图 3
1.1.5 数据表视图 3
1.1.6 状态栏 3
1.1.7 水平和垂直滚动条 3
1.2 建立数据表 4
1.2.1 创建数据库 4
1.2.2 创建和设计表 5
1.3 建立查询 9
1.3.1 查询向导分类 9
1.3.2 利用视图创建和设计查询 9
1.3.3 操作查询 12
1.4 建立窗体 15
1.4.1 创建和设计窗体 16
1.4.2 使用控件 17
1.4.3 创建主/子窗体 18
1.5 建立报表 21
1.5.1 利用视图创建报表 22
1.5.2 设计报表 24
1.5.3 打印报表 28
1.6 建立数据访问页 30
1.6.1 创建数据访问页 31
1.6.2 设计数据访问页 32
1.7 建立宏 37
1.7.1 宏概述 37
1.7.2 宏的创建与设计 38
1.7.3 宏的执行与调试 42
1.7.4 常用的宏 44
第2章 Access VBA程序设计2.1 VBA简介 45
2.1.1 VBE界面 45
2.1.2 在“代码窗口”中编程 47
2.2 VBA基础知识 48
2.2.1 数据类型 48
2.2.2 变量、常量、数组和表达式 50
2.2.3 程序控制语句 54
2.2.4 过程和模块 60
2.3 VBA的对象 64
2.3.1 理解对象、属性、方法和事件 64
2.3.2 VBA的对象句法 65
2.3.3 创建对象和类模块 66
2.3.4 使用Access的对象模型 70
2.4 VBA中数据库操作的基本手段 72
2.4.1 DAO 72
2.4.2 ADO 73
2.5 VBA程序调试 77
2.5.1 良好的编程风格 78
2.5.2 “调试”工具栏及功能 78
2.5.3 调试方法及技巧 79
2.6 一个简单的VBA编程示例 81
第3章 Access常用事件、方法和函数3.1 Access的常用事件 85
3.1.1 Activate事件 85
3.1.2 AfterDelConfirm事件 85
3.1.3 BeforeUpdate事件 86
3.1.4 Click事件 87
3.1.5 Delete事件 88
3.1.6 Exit事件 89
3.1.7 LostFocus事件 89
3.1.8 Open事件 90
3.1.9 Timer事件 91
3.2 Access的常用方法 91
3.2.1 Add方法 91
3.2.2 AddItem方法 93
3.2.3 Dropdown方法 94
3.2.4 Move方法 95
3.2.5 OpenFunction方法 95
3.2.6 Print方法 96
3.2.7 Run方法 97
3.3 Access的常用函数 99
3.3.1 Command函数 99
3.3.2 DCount函数 100
3.3.3 DLookup函数 101
3.3.4 DSum函数 103
3.3.5 Eval函数 104
3.3.6 StringFromGUID函数 106
第4章 Access中的控件设计4.1 Access 2003中的基本控件 107
4.1.1 控件的类型 107
4.1.2 标签控件 109
4.1.3 文本框控件 109
4.1.4 选项组控件 110
4.1.5 切换按钮控件 110
4.1.6 组合框控件 111
4.1.7 命令按钮控件 112
4.2 创建和添加控件 112
4.2.1 选项组控件 112
4.2.2 组合框控件 115
4.2.3 命令按钮控件 117
4.2.4 添加子窗体 118
4.2.5 添加ActiveX控件 120
4.3 窗体和控件的属性 121
4.3.1 查看控件的属性 121
4.3.2 修改控件属性 123
4.3.3 更改默认属性 124
第5章 使用VBA设计和操作数据表5.1 设计表结构 127
5.1.1 用代码控制数据格式 127
5.1.2 使用ALTER COLUMN语句改变数据类型 128
5.1.3 使用JOIN命令进行数据表外连接 130
5.2 操作表 133
5.2.1 新建和删除表 133
5.2.2 操作表记录 135
第6章 使用VBA设计查询和报表6.1 了解SQL语法 139
6.1.1 基本查询 139
6.1.2 组合查询 139
6.1.3 整合性查询 140
6.1.4 复合性查询 140
6.1.5 其他查询 141
6.2 设计VBA让SQL查询运行得更快 141
6.2.1 不合理的索引设计 142
6.2.2 不充分的连接条件 143
6.2.3 不可优化的WHERE子句 143
6.3 设计报表画线 145
6.4 用ADO创建完美报表 146
6.4.1 在Access中应用ADO将数据输出到Word 147
6.4.2 在Word中应用ADO直接提取Access数据库中的数据 149
6.4.3 两种方法的比较 151
第7章 VBA程序设置及调试高级应用7.1 VBA程序设置 153
7.1.1 自动生成代码 153
7.1.2 定制自己的菜单 154
7.1.3 定制库和引用 155
7.1.4 注册表编程 156
7.2 VBA程序调试技巧 157
7.2.1 API函数调用 157
7.2.2 运行应用程序 158
7.2.3 捕获错误 159
第8章 使用VBA设计系统常用窗体8.1 制作“关于”窗体 161
8.1.1 创建表和字段 161
8.1.2 创建窗体和编写窗体代码 164
8.1.3 使用MouseMove事件设置标签颜色 174
8.2 设计WINDOWS XP风格界面 174
8.2.1 编写通用界面模块 174
8.2.2 应用XP风格效果 179
8.3 带计算器功能的文本框的设计 180
8.3.1 基本功能 181
8.3.2 编写计算函数模块 182
8.3.3 在文本框窗体中使用计算器 187
第9章 用VBA管理客户信息9.1 建立客户信息数据表 189
9.1.1 表的逻辑设计 189
9.1.2 建立客户表 193
9.2 客户管理查询 213
9.2.1 使用SELECT语句设计订单查询 213
9.2.2 产品生成表查询 215
第10章 应用VBA进行财务查询设计10.1 使用记录集进行财务表设计 217
10.1.1 资金流动日期 217
10.1.2 日记账账号 218
10.1.3 设置科目 220
10.1.4 设置金额 220
10.2 计算分类账 221
10.2.1 使用向导设计查询 222
10.2.2 利用SQL查询进行计算 229
10.2.3 优化SQL查询 237
第11章 使用VBA设计记账系统功能模块11.1 使用DoCmd对象的Openform方法设计按钮单击事件 239
11.1.1 主界面窗体按钮Click事件 239
11.1.2 输入任务窗体按钮Click事件 241
11.1.3 查询任务窗体按钮Click事件 242
11.2 使用VBA设计日记账输入 243
11.2.1 窗体Load代码设计 244
11.2.2 使用SaveJournal过程保存日记账数据 244
11.2.3 使用AfterUpdate过程设计组合框更新事件 245
11.2.4 按钮Click事件代码设计 245
11.3 使用VBA设计日记账查询 246
11.3.1 窗体Load代码设计 247
11.3.2 按钮Click事件代码设计 247
11.4 使用VBA设计分类账查询 247
11.4.1 窗体Load代码设计 248
11.4.2 使用WriteDetail过程设计分类账明细 249
11.4.3 使用Change过程设计组合框事件 250
11.4.4 按钮Click事件代码设计 250
11.5 使用VBA设计财务报表窗体 250
11.5.1 窗体Load代码设计 251
11.5.2 按钮Click事件代码设计 251
11.6 使用通用函数设计操作任务窗体 252
11.6.1 按钮Click事件代码设计 252
11.6.2 使用Posting过程设计过账 253
11.6.3 使用MakeIncomeSum过程设计收益汇总 253
11.6.4 使用MakeProfit过程设计财务评估 260
11.7 使用VBA设计分析任务窗体 261
11.7.1 按钮Click事件代码设计 261
11.7.2 窗体Load代码设计 262
11.8 记账系统报表模块的设计 263
11.8.1 使用报表设计视图设计“财务指标”和“资产负债表”报表 263
11.8.2 使用报表向导设计“日记账”报表 265
11.8.3 使用Print事件设计“损益表”报表打印操作 267
11.9 浏览系统运行结果 268
第12章 使用VBA开发人事管理模块12.1 使用SQL语句设计人事业务管理查询 271
12.1.1 员工信息查询 271
12.1.2 上下班时间调整 272
12.1.3 显示上下班时间 273
12.1.4 出差查询 273
12.1.5 加班查询 274
12.1.6 请假查询 274
12.1.7 出勤查询 275
12.1.8 检索出差查询 275
12.1.9 检索加班查询 275
12.1.10 检索请假查询 276
12.1.11 检索出勤查询 276
12.1.12 统计查询 277
12.2 使用VBA设计登录窗体 277
12.2.1 “确定”按钮代码设计 279
12.2.2 “取消”按钮代码设计 281
12.3 使用DAO Recordset对象人事管理功能窗体 281
12.3.1 设计员工信息管理窗体 281
12.3.2 员工变动信息窗体 284
12.3.3 查询修改窗体 285
12.4 员工考勤综合窗体设计 288
12.4.1 子窗体 288
12.4.2 子窗体和主窗体的链接 290
12.4.3 创建带有多子窗体的窗体 290
12.4.4 创建两级子窗体的窗体 291
12.4.5 创建多页窗体 292
12.5 使用VBA设计考勤功能窗体 293
12.5.1 添加记录窗体按钮事件代码设计 293
12.5.2 添加出勤记录窗体事件代码设计 295
12.5.3 添加出差记录窗体事件代码设计 297
12.5.4 添加请假记录窗体事件代码设计 298
12.5.5 添加加班记录窗体事件代码设计 299
12.5.6 记录检索窗体按钮事件代码设计 300
12.5.7 按员工编号搜索窗体事件代码设计 301
12.5.8 按时间检索记录窗体事件代码设计 304
12.5.9 统计窗体事件代码设计 306
12.6 设计函数建立Connection对象 309
12.6.1 GetRS函数 309
12.6.2 ExecuteSQL函数 310
第13章 使用VBA开发工资管理模块13.1 工资表的建立 311
13.1.1 工资管理数据表 311
13.1.2 员工表 314
13.2 使用SQL设计工资管理查询 320
13.2.1 工资统计查询事件代码 320
13.2.2 固定福利查询事件代码 321
13.2.3 员工查询事件代码 321
13.2.4 月度福利津贴查询事件代码 322
13.2.5 月度奖金查询事件代码 322
13.2.6 月度扣发查询事件代码 323
13.2.7 总查询事件代码 323
13.3 使用VBA设计工资管理功能窗体 324
13.3.1 使用DoCmd对象设计主界面按钮事件代码 324
13.3.2 使用DoCmd对象设计变动信息窗体按钮事件代码 326
13.3.3 使用Sum函数设计月度工资统计窗体 328
13.3.4 其他窗体设计 331
13.4 两个功能模块设计 332
13.4.1 设计DBControl模块 332
13.4.2 设计Functions模块 333
第14章 用VBA开发进销存管理模块14.1 准备工作 336
14.1.1 库存控制 336
14.1.2 进销存数据表 338
14.1.3 产品表查阅字段 343
14.1.4 产品查询 347
14.2 使用VBA设计进销存系统功能窗体 349
14.2.1 使用DoCmd对象设计切换面板按钮事件代码 349
14.2.2 使用Recordset对象设计产品进库窗体按钮事件代码 352
14.2.3 使用DoCmd对象设计订单处理窗体按钮事件代码 355
14.2.4 使用Recordset对象设计发货确认窗体事件代码 358
14.2.5 使用OpenReport方法设计报表控制窗体事件代码 360
14.3 进销存操作 362
第15章 使用VBA进行用户身份验证15.1 数据库的分析优化和安全管理 365
15.1.1 表的优化 365
15.1.2 表的性能分析 367
15.1.3 数据库的文档管理 368
15.1.4 数据库的安全管理 369
15.2 使用VBA保护数据库 382
15.2.1 基本操作 382
15.2.2 使用VB语句保护Access密码 383
15.3 使用宏设计系统身份验证窗体 386