1、目 录第1章 课程设计目的与要求11.1 课程设计目的11.2 课程设计的实验环境11.3 课程设计的预备知识11.4 课程设计要求1第2章 课程设计内容22.1 系统功能分析22.2 数据库模型32.3 设计窗体和报表72.4 窗体和报表模块主要代码7第3章 课程设计总结12参考文献13第1章 课程设计目的与要求1.1 课程设计目的本课程的课程设计实际是计算机信息管理专业进行的一次全面的综合训练,其目的在于加深对数据库基础理论和基本知识的理解,掌握运用数据库应用系统开发软件的基本方法。1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。数据库应用系统开发软件可以
2、选用Microsoft Access,或其他数据库管理系统。1.3 课程设计的预备知识熟悉数据库的基本知识及一种以上数据库系统开发软件。1.4 课程设计要求第2章 课程设计内容2.1系统功能分析2.1.1 系统功能分析库存管理系统实现以下几项功能:(1)系统模块:包括报表的打印及设置,操作日志的管理。(2)入库模块:包括填写入库单,更新,删除入库记录,查看现有库存信息,入库记录的查询及打印(3)出库模块 :包括填写出库单,更新,删除出库记录,查看现有库存信息,出库记录的查询及打印(4)还库模块 :包括填写还库单,更新,删除还库记录,还库记录的查询及打印(5)需求模块:包括填写需求计划表,更新,
3、删除采购计划信息,查看现有采购信息,采购信息的查询及打印,以及预测短期内的需求计划。2.1.2 系统功能模块设计库存管理系统入库出库还库需求采购修改库存保存日志系统功能模块图2.2数据库模型2.2.1 数据库需求分析数据项和数据结构如下设备代码表:设备号(主键),设备名称。设备入库表:设备号,入库时间(主键),供应商,供应商电话,入库数量,价格,采购员。设备出库表:设备号,出库时间(主键),使用部门,出库情况,经手人,出库数量,领取人,用途。现有库存表:设备号,现有库存,最小库存,最大库存,总数。部门需求表:设备号,部门名称,需求数量,需求开始时间,需求结束时间。设备还库表:设备号,还库时间,
4、仓库管理员,归还数量,归还人。操作日志表:操作员,操作内容,操作时间。设备采购计划表:设备号,现有库存,总库存,最大库存,购买数量,供应商,价格,计划采购时间(主键)。2.2.2 数据库概念结构设计根据以上分析,规划出的实体有:现有库存实体、出库实体、设备采购实体、设备还库实体、部门需求实体。以下为E-R图现有库存设备号库存信息库存数量总数入库设备号供应商价格数量采购员出库设备号使用部门需求数量需求时间现有库存设备采购部门需求设备还库入库出库还库设备号还库信息还库数量经手人设备采购设备号数量供应商信息时间2.2.3 数据库逻辑结构设计2.2.4 数据库连接说明2.2.5 查询设计库存不足查询S
5、ELECT 现有库存表.设备号, 现有库存表.现有库存, 现有库存表.最小库存FROM 现有库存表WHERE (现有库存表.现有库存)最大库存);使用SUM函数查询SELECT Sum(现有库存表!总数) AS 所有库存数量FROM 现有库存表设备号总类COUNT函数查询SELECT Count(设备代码表!设备号) AS 设备总类数FROM 现有库存表;2.3 设计窗体和报表切换面板入库窗体出库窗体还库窗体需求窗体采购窗体显示报表窗体设计图2.4 设计窗体和报表模块主要代码 窗体 报表切换面板(用户主界面)入库窗体其他窗体与入库窗体界面一致,只是内容功能不同。 操作日志报表主要代码:入库窗体
6、代码如下:Option Compare DatabaseOption ExplicitPrivate Sub cmdadd_Click()On Error GoTo Err_cmdadd_Click DoCmd.GoToRecord , , acNewRecExit_cmdadd_Click: Exit SubErr_cmdadd_Click: MsgBox Err.Description Resume Exit_cmdadd_Click End SubPrivate Sub cmdmod_Click()Dim curdb As DatabaseDim currs As RecordsetDi
7、m devicecnt As IntegerSet curdb = CurrentDbSet currs = curdb.OpenRecordset(selece * from device where 设备号= & 设备号.Value & )If Not currs.EOF Thendevivecnt = currs.Fields(现有库存)devivecnt = devivecnt + CInt(入库数量.Value)curdv.Execute update device set 现有库存= & devicecnt & ,总数= & currs.Fields(总数).Value + CIn
8、t(入库数量.Value) & where 设备号= & 设备号.Value & ElseWith currs.AddNew.Fields(设备号) = 设备号.Value.Fields(现有库存) = CInt(入库数量.Value).Fields(最大库存) = CInt(入库数量.Value) + 10.Fields(最小库存) = CInt(入库数量.Value) - 10.Fields(总数) = CInt(入库数量.Value).UpdatableEnd WithEnd Ifcurdb.Execute insert into howdo(操作员,操作内容,操作时间)values (
9、管理员,设备入库, & CDate(入库时间.Value) & )cmdadd.Enabled = turecmdadd.SetFocuscmdmod.Enabled = FalseEnd SubPrivate Sub cmdsearch_Click()On Error GoTo Err_cmdsearch_Click Screen.PreviousControl.SetFocus DoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70Exit_cmdsearch_Click: Exit SubErr_cmdsearch_Click:
10、 MsgBox Err.Description Resume Exit_cmdsearch_ClickEnd Sub其他窗体代码略有修改。以下为报表代码:Option Compare DatabasePrivate Sub cmdcancel_Click()DoCmd.Close acForm, 报表显示End SubPrivate Sub cmdshow_Click()If chkqd.Value = -1 ThenDoCmd.OpenReport 库存清单, acViewPreviewEnd IfIf chkbz.Value = -1 ThenDoCmd.OpenReport 库存不足,
11、acViewPreviewEnd IfIf chkgd.Value = -1 ThenDoCmd.OpenReport 库存过多, acViewPreviewEnd IfIf chkcz.Value = -1 ThenDoCmd.OpenReport 操作日志, acViewPreviewEnd IfDoCmd.Close acForm, 报表显示End Sub 在工具-启动中设置自动启动切换面板,可以在打开时按住Shift进入设计界面。点击主窗口的库存管理系统可启动宏,提示版权信息:版权所有:李智勇2006-11-30第3章 课程设计总结通过这次的课程设计,使我增加了对数据库基本概念的理解,
12、提高对知识的理解和应用能力,并且对数据库的应用都有了更深的了解,使我的数据库编写水平又有了明显的提高。在WINDOWS的环境中,用ACCESS和VBA代码构建一个库存管理系统。让我了解到了在实际的环境下编写数据库的应用。在这次的课程设计中,使我对数据库的知识有了更深刻了解,增加可我对数据库这门课兴趣,强化了我的实际动手能力。同时也找到自己的不足。我一定会继续学习增加自己的数据库知识,在今后的学习中我会更加的努力,增加自己的知识储备。对仓库管理系统的开发,我付出了大量的时间,但是,我得到的收获远远不是这些时间可以衡量的,它将是我终生的财富,必将给我今后的学习和工作带来更多的收益.通过对此管理系统
13、的开发,使我对软件开发有了一个比较清楚的认识,体会到理论和实践的重要性.由于自己的分析设计和程序经验不足,该系统设计和实现过程中,还有许多没有完善的地方,比如,用户界面设计不够美观,异常出错处理比较差等多方面问题,这些都有待进一步完善和提高。参考文献1 叶杰宏 等编著.Access2003经典案例.冶金工业出版.出版日期 2006年2月第二版2 黄剀涛 等编著.Access 2000学习教程.北京大学出版社.出版日期 2003年9月第一版3 刘胜雷 编著.新概念Access 2002教程,北京科海集团公司.出版日期 2003年4月第一版4 李爱茜 编著.Access 2002教程.辽宁工业大学出版社.出版日期 2006年9月第一版5 甘雷 等编写.中文Access2002标准教程.辽宁教育出版社.出版日期 2003年9月第一版6 王雪情 编著.数据库基础.辽宁教育出版社.出版日期 2005年2月第二版忽略此处. 14