欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    《数据库原理与应用》课程设计报告仓库管理系统.doc

    • 资源ID:2395127       资源大小:252KB        全文页数:18页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    《数据库原理与应用》课程设计报告仓库管理系统.doc

    数据库原理与应用课程设计分析与设计报告题 目 仓库管理系统 专业班级 网络0801 学 号 姓 名 指导老师 完成时间 2011.1.14 目 录1. 任务设计与要求12. 需求分析23. 系统总体设计34. 数据库设计45. 运行结果与测试56.参考资料16 一 设计任务与要求1.1任务设计与要求随着科学技术的不断发展和完善,计算机逐渐地应用与各个领域。当然,现代化的办公也离不开计算机这门先进的技术地参与,从而实现高效率的办公目的。着眼于现实生活中的仓库管理系统,我们选择了仓库管理这个题目作为本次课程设计的主题,为的是能从实践中真正的考量自己对课本知识的掌握程度和灵活应用的能力,以便在以后的工作中能够游刃有余。 仓库管理系统的主要任务就是能够实现对货物信息的录入、修改和查询的功能,以及对货物资料、库存资料进行简单的管理,并且能够实现仓库出库表、入库表的打印等功能。我们通过vb编程建立数据库,数据表,表单,视图,报表等类,建立一个仓库基本信息管理及查询的系统。这样做的意义,就是能够为仓库和管理者提供便捷的服务,以便创造更大的社会价值。二.需求分析通过与多个中小企业后勤仓库负责人进行沟通,详细了解了企业的需求,得到该系统需要具备的功能,具体如下。1.系统管理l 可以将管理操作员,如增加操作员,设置修改操作员密码;l 可以备份数据库;l 可以恢复工资数据。2.数据管理l 可以新增入库单;l 可以新增出库单;l 可以对入库单进行管理;l 可以对出库单进行管理;设置系统使用的辅助数据,如部门、职称、职务等参照数据。3.查询统计l 可以查询在制定期间的库存信息;l 可以对指定期间内的单据进行查询;l 可以统计在指定期间内的货物信息;l 可以对货物在制定期间内进行出入统计4.打印票据l 可以打印出库票据;l 可以打印入库票据。4.登记信息l 可以登记货物信息;l 可以登记仓库信息;l 可以登记供应商信息;l 可以等级入库经办人;l 可以等级出库经办人。3 系统总体设计 通过前面的需求分析,对功能要求和性能要求有了大概了解,下面应该确定系统的最终目标及初步的功能结构。(1) 系统目标根据需求分析的描述及与用户的沟通,最终确定系统要实现的目标如下。l 界面简洁、框架清晰、美观大方;l 领会、快速的填写仓库信息、入库、出库资料;l 对用户输入的数据,系统进行严格的数据检验,尽可能排除人为输入错误;l 实现查询统计功能,用来查询统计员工工资数据;l 最大限度地实现系统的易维护性和易操作性;l 确保系统数据安全。(2) 系统功能结构本系统主要包括仓库基本信息管理,数据处理,货物信息录入、查询、修改,库存信息的查询统计,系统管理等部分其系统结构如图所示。 (3) 构建开发环境本项目开发环境如下:l Microsoft Visual Basic 6.0中文版;l Access数据库。Access是运行在Windows系列平台之上的具备了多媒体与开放性的数据库系统。它的直观性、易用性、开放性及功能强大的特点,使其成为目前最受欢迎的PC数据库软件。(4) 系统特色介绍本系统特色有:l 操作简单,符合Windows的风格的操作界面,使用户容易上手;l 减少数据重复录入,大部分数据都只需录入一次,即可在其他模块中引用。如供应商、货物资料、库存等信息,都只需录入一次。(5) 处理流程以“判断能否录入货物信息”为例,可描述如下:l 处理过程:“判断能否录入货物信息”;l 说明:根据货物编号判断是否属于有效货物;l 输入:货物编号、货物货物名称、类别等有效信息;l 输出:能否录入货物信息;l 处理:如果属于有效货物编号,即可录入,否则不可录入。(6) 主要功能的原理用户管理主要采用MicrosoftVisualBasic6.0制作的登录界面和Access制作的数据库对员工的基本信息进行管理;应用VB对用户的添加、删除、修改进行操作。4.数据库设计4.1概念结构设计供应商信息表:供应商编号,供应商地址,供应商名称,电话,联系人姓名,联系人职称货物信息表:货物编号,货物名称,货物数量,类别,最低限量,最高限量种类表:类别编号,类别名称客户信息表:客户编号,客户名称,联系人,客户电话仓库信息表:仓库编号,仓库名称,仓库地址,用户编号用户信息表:用户名,用户密码,用户权限库存信息表:库存编号,货物编号,库存数量,仓库编号入库单:入库单编号,货物编号,经办人编号,入库时间,货物数量,仓库编号,供应商编号出库单:出库单编号,货物编号,经办人编号,出库时间,出库单价,客户编号,仓库编号4.2逻辑结构设计根据关系规范化理论和E-R转换成关系模型的规则,整体E-R图可转换得到下列关系模式:供应商(供应商编号,供应商地址,供应商名称,电话,联系人姓名,联系人职称)货物(货物编号,货物名称,货物数量,类别,最低限量,最高限量)种类(类别编号,类别名称)客户(客户编号,客户名称,联系人,客户电话)仓库(仓库编号,仓库名称,仓库地址,用户编号)用户(用户名,用户密码,用户权限)库存(库存编号,货物编号,库存数量,仓库编号)入库单(入库单编号,货物编号,经办人编号,入库时间,货物数量,仓库编号,供应商编号)出库单(出库单编号,货物编号,经办人编号,出库时间,出库单价,客户编号,仓库编号)4.3物理结构设计1.供应商信息表列名数据类型长度主键或外键约束中文名称Offernovarchar20主键not null供应商编号Offernamevarchar30not null 供应商名称Addressvarchar20not null供应商地址Telvarchar20Not null电话Partnervarchar50Not null联系人姓名Postvarchar20Not null联系人职称2.客户信息表列名数据类型长度主键或外键约束中文名称Cnovarchar10主键Not null客户编号Cnamevarchar20Not null客户名称Partnervarchar20Not null联系人Telvarchar20Not null客户电话3.货物信息表列名数据类型长度主键或外键约束中文名称Gnovarchar20主键Not null货物编号Gnamevarchar20Not null货物名称Gnumvarchar10Not null货物数量Gclavarchar10Not null类别Minvarchar20Not null最低限量Maxvarchar20Not null最高限量4.仓库信息表列名数据类型长度主键或外键约束中文名称Snovarchar10外键Not nul仓库编号Snamevarchar20Not null仓库名称Saddvarcahr30Not null仓库地址Unamevarcahr20外键Not null用户名5.用户信息表列名数据类型长度主键或外键约束中文名称Unamevarchar10主键Not null用户名Upassvarchar20Not null用户密码Uwordvarchar10Not null用户权限6.种类信息表列名数据类型长度主键或外键中文名称Clnovarchar20主键类别编号ClnameVarchar10类别名称7.入库单信息表列名数据类型长度主键或外键中文名称Inputnovarchar20主键入库单编号Gnovarchar20货物编号Passnernovarchar10经办人编号Inputtimevarchar10入库时间numbervarchar10货物数量Snovarchar10仓库编号Offernovarchar10供应商编号8.出库单编号列名数据类型长度主键或外键中文名称Outputnovarchar20主键出库单编号Gnovarchar20货物编号Passnernovarchar10经办人编号Outputtimevarchar10出库时间Cnovarchar10客户编号Snovarchar10仓库编号5 运行结果和测试  (1)仓库管理系统运行界面和对应原代码(上面为运行界面,对应原代码在下面)如以下各图所示: 图1. 登陆界面 Private Sub Form_Load() On Error Resume NextAdodc1.ConnectionString = DataConnectString Adodc1.RecordSource = "select * from 用户管理 where 用户名='username'" Adodc1.RefreshEnd SubPrivate Sub Modify_Click() If OldPas.Text <> UserPas Then MsgBox "原密码错误!" Exit Sub End If If NewPas1.Text <> NewPas2.Text Then MsgBox "两次密码不一致!" Exit Sub End If On Error Resume Next '查找用户名 If Adodc1.Recordset.Fields("用户名") = UserName Then '设置新密码 Set adoRs = adoCon.Execute("UPDATE 用户管理 SET 用户密码= '" + NewPas1.Text + "' where 用户名='" + UserName + "'") Adodc1.Refresh MsgBox "修改成功!" End If Unload Me End SubPrivate Sub NewPas1_KeyDown(KeyCode As Integer, Shift As Integer)If KeyCode = 13 Then '如果按下的是回车键,则光标落到文本框当中NewPas2.SetFocusEnd IfEnd Sub 图2. 登记信息 图3.单据管理 图4.查询统计图2.图3.图4的原代码如下所示:Private Sub 操作信息_Resize() Shape1.left = 0 Shape1.width = 操作信息.width Shape2.left = 0 Shape2.width = 操作信息.width End SubPrivate Sub 查看库存状况_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub M库存状况_ClickEnd SubPrivate Sub 查看日志_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub If 权限类别(15) <> 0 Then M查看日志_ClickEnd SubPrivate Sub 查询统计_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub End SubPrivate Sub 创建新仓库_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub If 权限类别(11) <> 0 Then M仓库信息_ClickEnd SubPrivate Sub L单据查询_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub If 权限类别(6) <> 0 Then M单据查询_ClickEnd SubPrivate Sub 当前日期_Click()表.Show vbModalEnd SubPrivate Sub 登记新供应商_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub If 权限类别(4) <> 0 Then M供应商_ClickEnd SubPrivate Sub 登记新货物_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub If 权限类别(12) <> 0 Then M货物信息_ClickEnd SubPrivate Sub 登记新客户_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub If 权限类别(5) <> 0 Then M往来客户_ClickEnd SubPrivate Sub 登记新职员_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub If 权限类别(10) <> 0 Then 职员信息.Show vbModalEnd SubPrivate Sub 给作者写信_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub ShellExecute 0, "", "mailto:smmhLiu", "", "", 5End SubPrivate Sub 更换用户登陆_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub frmLogin.Show vbModalEnd SubPrivate Sub L货物出入统计_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub If 权限类别(6) <> 0 Then M货物出入统计_ClickEnd SubPrivate Sub L库存查询_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button <> 1 Then Exit Sub If 权限类别(6) <> 0 Then M库存查询_ClickEnd Sub 图6.库存状况Private Sub DataGrid1_Click()End SubPrivate Sub Form_Load() Adodc1.ConnectionString = DataConnectString SQL = Adodc1.RecordSource Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh Adodc1.Visible = False Adodc2.ConnectionString = DataConnectString Set DataCombo1.RowSource = Adodc2 DataCombo1.ListField = "仓库名称" Adodc2.Refresh Adodc2.Visible = False Adodc3.ConnectionString = DataConnectString Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh Adodc1.Visible = False initdatagrid1 End Sub 图7.入库单rivate Sub DataGrid1_HeadClick(ByVal ColIndex As Integer) On Error Resume Next Dim caption As String caption = DataGrid1.Columns(ColIndex).caption If caption = "经办人" Then caption = "姓名" If caption = "金额" Then Exit Sub If caption = "备注" Then caption = "入库单.备注" If caption = "编号" Then caption = "入库单.编号" If caption = "供应商" Then caption = "供应商名称" If caption = "存放仓库" Then caption = "仓库名称" Adodc1.RecordSource = SQL + " order by " + caption order(ColIndex) = True - order(ColIndex) If order(ColIndex) = True Then Adodc1.RecordSource = Adodc1.RecordSource + " ASC" Else Adodc1.RecordSource = Adodc1.RecordSource + " DESC" End If SaveInit Adodc1.Refresh ResumeInit End SubPrivate Sub Form_Load() Adodc1.ConnectionString = DataConnectString SQL = Adodc1.RecordSource Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh initdatagrid1 '通过权限来初始化控件性质 If 权限类别(0) = 0 Then B新增入库单.Enabled = False If 权限类别(1) = 0 Then DataGrid1.AllowUpdate = False If 权限类别(2) = 0 Then 退出入库单.Enabled = False 删除入库单.Enabled = False End If If 权限类别(8) = 0 Then 打印入库单.Enabled = False End Sub 图8.出库单Private Sub DataGrid1_HeadClick(ByVal ColIndex As Integer) On Error Resume Next Dim caption As String caption = DataGrid1.Columns(ColIndex).caption If caption = "经办人" Then caption = "姓名" If caption = "金额" Then Exit Sub If caption = "备注" Then caption = "出库单.备注" If caption = "编号" Then caption = "出库单.编号" If caption = "客户" Then caption = "客户名称" If caption = "存放仓库" Then caption = "仓库名称" Adodc1.RecordSource = SQL + " order by " + caption order(ColIndex) = True - order(ColIndex) If order(ColIndex) = True Then Adodc1.RecordSource = Adodc1.RecordSource + " ASC" Else Adodc1.RecordSource = Adodc1.RecordSource + " DESC" End If SaveInit Adodc1.Refresh ResumeInit End SubPrivate Sub Form_Load() Adodc1.ConnectionString = DataConnectString SQL = Adodc1.RecordSource Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh initdatagrid1 '通过权限来初始化控件性质 If 权限类别(0) = 0 Then B新增出库单.Enabled = False If 权限类别(1) = 0 Then DataGrid1.AllowUpdate = False If 权限类别(2) = 0 Then 退出出库单.Enabled = False 删除出库单.Enabled = False End If If 权限类别(8) = 0 Then 打印出库单.Enabled = False End Sub 图9.单据查询Private Sub Form_Load()On Error GoTo quit Adodc1.ConnectionString = DataConnectString Adodc1.Visible = False Adodc2.ConnectionString = DataConnectString Adodc2.Visible = False Adodc1.RecordSource = "select 出库单.编号,货物信息.货物名称,货物信息.货物类别,货物信息.货物规格,职员信息.姓名 as 领走人,出库单.出库时间,出库单.出库单价,货物信息.计量单位,出库单.出库数量,(出库单.出库单价*出库单.出库数量) as 金额,客户.客户名称 as 部门,出库单.定单状况,出库单.备注 as 工程名称 from 出库单,货物信息,职员信息,客户,仓库 where 货物信息.编号=出库单.货物编号 and 职员信息.编号=出库单.经办人编号 and 客户.编号=出库单.经办人编号 and 仓库.编号=出库单.仓库编号" Set DataGrid1.DataSource = Adodc1 Adodc1.Refresh 制单时间.Year = Year(Date) 制单时间.Month = Month(Date) 制单时间.Day = Day(Date) T制单时间.Text = "无限制" T货物数量.Text = "无限制" T其它金额.Text = "无限制" quit:End Sub 图10.供应商信息Private Sub DataGrid1_AfterDelete() '写入系统日志 fMainForm.WriteLog ("删除供应商")End SubPrivate Sub DataGrid1_AfterUpdate() '写入系统日志 fMainForm.WriteLog ("更新供应商")End Sub 图11.增加新货物Private Sub 增加新货物_Click() If 货物编号.Text = "" Then MsgBox "请填写货物编号!", vbQuestion: Exit Sub If 货物名称.Text = "" Then MsgBox "请填写货物名称!", vbQuestion: Exit Sub If 最低限量.Text = "" Then MsgBox "请填写最低限量!", vbQuestion: Exit Sub If 最高限量.Text = "" Then MsgBox "请填写最高限量!", vbQuestion: Exit Sub If 计量单位.Text = "" Then MsgBox "请填写计量单位!", vbQuestion: Exit Sub On Error Resume Next SaveInit Adodc2.Recordset.AddNew Adodc2.Recordset.Fields("编号") = 货物编号.Text Adodc2.Recordset.Fields("货物名称") = 货物名称.Text Adodc2.Recordset.Fields("货物类别") = DataGrid1.Columns(0).Text Adodc2.Recordset.Fields("货物规格") = 货物规格.Text Adodc2.Recordset.Fields("计量单位") = 计量单位.Text Adodc2.Recordset.Fields("最低限量") = 最低限量.Text Adodc2.Recordset.Fields("最高限量") = 最高限量.Text Adodc2.Recordset.Fields("备注") = 备注.Text Adodc2.Recordset.update Adodc2.Recordset.Requery InitDataGrid3 Adodc2.Refresh ResumeInit 货物编号.Text = 货物编号.Text + 1 '写入系统日志 fMainForm.WriteLog ("增加新货物") MsgBox "保存成功", vbOKOnly, "" '同时把文本清空,以便填写下一个 货物名称.Text = "" 计量单位.Text = "" 货物规格.Text = "" End Sub   (2) 对在调试中发现的问题进行说明。6 参考资料Visual Basic高级编程及其项目应用开发 李存斌 郭晓鹏 编著 中国水利水电出版社Visual Basic编程实例教程 北京希望电子出版社 总策划 袁帅 郭月强 焦祝军 等 编写

    注意事项

    本文(《数据库原理与应用》课程设计报告仓库管理系统.doc)为本站会员(laozhun)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开