数据库原理及应用课程设计(论文)题目:库存管理系统目录第1章课程设计目的与要求 (1)1.1 课程设计目的 (1)1.2 课程设计的实验环境 (1)1.3 课程设计的预备知识 (1)1.4 课程设计要求 (1)第2章课程设计内容 (2)2.1 系统功能分析 (2)2.2 数据库模型 (3)2.3 设计窗体和报表 (7)2.4 窗体和报表模块主要代码 (7)第3章课程设计总结 (12)参考文献 (13)数据库应用技术大作业的基本要求总体要求运用Access所学功能,完成一份具有一定实际意义,且能解决一个具体问题的综合实验。
要求在Windows平台上完成Access数据库的表、查询、窗体、报表及宏的建立,形成一个数据库应用系统(如:藏书管理系统,人员管理系统,酒店管理系统等)。
基本要求(1) 作业量的基本指标●数据库至少包含3个表,每个表中的记录数不能少于10条(所设计的数据库中应包含求解该问题的相关数据)。
●至少包含两个功能模块,并且数据库应用系统要具有数据的增、删、查、改功能。
(2) 作业中涵盖的知识点●建立数据库及库中的数据表;●设置表中的字段属性(定义主键、字段大小、有效性规则、默认值等);●表间关系的建立与修改:一对一关系或一对多关系,至少要有一个一对多关系;●表对象的维护(增加、删除、编辑记录等基本操作);●创建多种不同类型的查询(选择查询,交叉表查询,参数查询,操作查询,SQL查询);●建立某种形式的窗体(要包含主子窗体),创建与用户进行交互操作的友好界面;建立某种形式的窗体,实现窗体数据与查询条件的传递;●建立某种形式的报表(要包含分组计算),实现对数据的统计与输出;●创建并运行宏,使用宏可以将数据库对象联系在一起;●创建一个主界面窗体,能够通过该窗体访问数据库中的所有对象。
作业设计提交形式将数据库应用系统(*.mdb)和相应的大作业设计任务说明书(*.doc)放置以“学号+姓名”(如2011010112王五)命名的文件夹中。
同时上交设计说明书的打印稿。
大作业设计任务说明书撰写框架(1)总体功能(2)各功能模块联系图(3)表的结构和表间关系(4)窗体、查询和报表的设计和功能(5)系统开发体会第1章课程设计目的与要求1.1 课程设计目的本课程的课程设计实际是计算机信息管理专业学生学习完《数据库原理及应用(ACCESS 2000)》课程后,进行的一次全面的综合训练,其目的在于加深对数据库基础理论和基本知识的理解,掌握运用数据库应用系统开发软件的基本方法。
1.2 课程设计的实验环境硬件要求能运行Windows 9.X操作系统的微机系统。
数据库应用系统开发软件可以选用Microsoft Access,或其他数据库管理系统。
1.3 课程设计的预备知识熟悉数据库的基本知识及一种以上数据库系统开发软件。
1.4 课程设计要求按课程设计指导书提供的课题,应根据下一节给出的基本需求独立完成八个方面的设计,标有“可选”的部分可根据设计时间的安排及工作量的大小适当选择。
选用其他课题或不同的数据库管理系统,可以组成设计小组,分模块进行,共同协作完成一个应用系统的开发任务。
要求书写详细的设计说明书,对复杂的代码段和程序段,应画出程序流程图。
在界面设计中,画出每个窗口的布局,有多个窗口时,按模块调用的方式画出窗口调用图,用手工画好报表和标签样式,严禁相互抄袭。
第2章课程设计内容2.1系统功能分析2.1.1 系统功能分析库存管理系统实现以下几项功能:(1)系统模块:包括报表的打印及设置,操作日志的管理。
(2)入库模块:包括填写入库单,更新,删除入库记录,查看现有库存信息,入库记录的查询及打印(3)出库模块:包括填写出库单,更新,删除出库记录,查看现有库存信息,出库记录的查询及打印(4)还库模块:包括填写还库单,更新,删除还库记录,还库记录的查询及打印(5)需求模块:包括填写需求计划表,更新,删除采购计划信息,查看现有采购信息,采购信息的查询及打印,以及预测短期内的需求计划。
2.1.2 系统功能模块设计2.2数据库模型2.2.1 数据库需求分析数据项和数据结构如下设备代码表:设备号(主键),设备名称。
设备入库表:设备号,入库时间(主键),供应商,供应商电话,入库数量,价格,采购员。
设备出库表:设备号,出库时间(主键),使用部门,出库情况,经手人,出库数量,领取人,用途。
现有库存表:设备号,现有库存,最小库存,最大库存,总数。
部门需求表:设备号,部门名称,需求数量,需求开始时间,需求结束时间。
设备还库表:设备号,还库时间,仓库管理员,归还数量,归还人。
操作日志表:操作员,操作内容,操作时间。
设备采购计划表:设备号,现有库存,总库存,最大库存,购买数量,供应商,价格,计划采购时间(主键)。
2.2.2 数据库概念结构设计根据以上分析,规划出的实体有:现有库存实体、出库实体、设备采购实体、设备还库实体、部门需求实体。
以下为E-R图2.2.3 数据库逻辑结构设计2.2.4 数据库连接说明2.2.5 查询设计库存不足查询SELECT 现有库存表.设备号, 现有库存表.现有库存, 现有库存表.最小库存FROM 现有库存表WHERE (((现有库存表.现有库存)<[最小库存]));库存过多查询SELECT 现有库存表.设备号, 现有库存表.现有库存, 现有库存表.最大库存FROM 现有库存表WHERE (((现有库存表.现有库存)>[最大库存]));使用SUM函数查询SELECT Sum(现有库存表!总数) AS 所有库存数量FROM 现有库存表设备号总类COUNT函数查询SELECT Count(设备代码表!设备号) AS 设备总类数FROM 现有库存表;2.3 设计窗体和报表窗体设计图2.4 设计窗体和报表模块主要代码窗体报表切换面板(用户主界面)入库窗体其他窗体与入库窗体界面一致,只是内容功能不同。
操作日志报表主要代码:入库窗体代码如下:Option Compare DatabaseOption ExplicitPrivate Sub cmdadd_Click()On Error GoTo Err_cmdadd_ClickDoCmd.GoToRecord , , acNewRecExit_cmdadd_Click:Exit SubErr_cmdadd_Click:MsgBox Err.DescriptionResume Exit_cmdadd_ClickEnd SubPrivate Sub cmdmod_Click()Dim curdb As DatabaseDim currs As RecordsetDim 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 + CInt(入库数量.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 ('管理员','设备入库'," & CDate(入库时间.Value) & ")"cmdadd.Enabled = turecmdadd.SetFocuscmdmod.Enabled = FalseEnd SubPrivate Sub cmdsearch_Click()On Error GoTo Err_cmdsearch_ClickScreen.PreviousControl.SetFocusDoCmd.DoMenuItem acFormBar, acEditMenu, 10, , acMenuVer70Exit_cmdsearch_Click:Exit SubErr_cmdsearch_Click:MsgBox Err.DescriptionResume 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 "库存不足", acViewPreviewEnd IfIf chkgd.Value = -1 ThenDoCmd.OpenReport "库存过多", acViewPreviewEnd IfIf chkcz.Value = -1 ThenDoCmd.OpenReport "操作日志", acViewPreviewEnd IfDoCmd.Close acForm, "报表显示"End Sub在工具-启动中设置自动启动切换面板,可以在打开时按住Shift进入设计界面。