进销存管理系统-课程设计报告_第1页
进销存管理系统-课程设计报告_第2页
进销存管理系统-课程设计报告_第3页
进销存管理系统-课程设计报告_第4页
进销存管理系统-课程设计报告_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2007级课程设计报告课题名称:进销存管理系统(盘点管理管理子系统)专业:班级:学号:姓名:指导教师:年月目录系统概述1系统分析2-62.1需求分析2.2业务流程图2.3数据流程图2.4数据词典系统设计6-323.1模块结构设计3.2 数据库概念设计3.3 数据库逻辑设计3.4 输出设计3.5 输入设计3.6 代码设计4结语331.系统概述 现代科技技术突飞猛进,在不同的领域要求各异,以前对库存盘点的统计都是手写登记,纸制查看,这样很容易发生错误,导致企事业失去他们所需要的信息,而且会产生错误信息误导决策,现在为了方便决策者了解到更加确切的信息和资料,所以开发这样的系统方便决策者查询信息及网上

2、浏览,使各方面的信息都能够正确及时。系统的功能是将该企业的所有库存盘点信息进行电子统计,根据不同的需求建立各种的报表,便于企事业在网上查询库存的各方面的信息情况,方便决策者了解市场,也能够方便管理者对库存盘点的信息进行不同的统计。库存盘点管理管理子系统主要实现的是库存盘点信息的录入,修改,查询以及盘点信息的打印等功能,为此,若要实现各方面的需求,系统的数据必须具有高度的完整性和准确性,这就要求系统的高度安全性,可维护性,可靠性及灵活性。比如库存管理系统的管理,管理员在录入商品的库存情况的时候或是数据库出现异常而产生差错,可能会影响决策者从网上查询这些商品的库存情况,这就要求系统具有高度的安全性

3、,可维护性和可靠性;灵活性指的是系统要具有强大的功能以适应不同层次的客户不同的需求。另外,系统的操作界面要求简便,通俗,以便于操作。用户对系统的信用,如果因为一次的错误就会导致一连串的信息错误,所以保证信息的可靠性十分必须的,这样才能使系统得到用户的信赖和支持。这样的系统需要保证可靠性,避免给决策者提供虚假的信息,更确保各部门通过浏览该系统,进行相应的需求操作。因此,随着技术发展,企业采用库存盘点信息化已成为趋势及必然。2.系统分析2.1需求分析2.1.1需求分析本系统通过简单的数据库的操作,实现企事业单位的库存信息的管理。库存盘点管理管理子系统是一个小型的信息管理系统,数据库采用SQL Se

4、rver 2005。使用户和项目人员明确系统的功能、应用范围。本系统具有以下功能:1:实现库存盘点管理的信息化管理。2:实现库存盘点管理的基础要求,如信息添加,查看及删除。操作方便简单,且数据稳定性强。3:方便的库存信息查询功能,支持多条件查询。 4:数据计算自动完成,尽量减少人工干预。5:强大的报表打印功能。2.1.2开发及运行环境 1硬件环境:CPU:C1.7G以上,内存在256M以上。2 软件环境:Windows XP操作系统,Microsoft SQL Servers数据库系统。软件编程使用Microsoft Visual Basic 6.0 中文版。12.1.3程序流程本库存盘点管理

5、管理子系统使用如下的流程进行登陆以及其他的操作:开始界面是始于登陆界面“登录(登录.frm)”,当用户键入用户名和密码的时候,系统自动到所对应的数据库“用户信息表”中进行用户验证。如果输入正确则进入系统主界面,就可以进入到主操作菜单窗体“系统(系统.frm)”中进行操作。在主操作菜单窗体“系统(系统.frm)”中,用户可以对数据库中的商品信息、供应商信息及客户信息等基本信息进行包括:添加,查询,修改等操作,并能够进行入库管理,出库管理及库存盘点。此外,可在“清单报表管理窗口”中进行相应的报表打印。主界面入下图所示:22业务流程图库存盘点流程如下:2.3数据流程图2.4数据字典4.1.数据元素条

6、目数据元素条目总编号:1-100编号:100名称:库存单编号编码说明:别名:kcdb* * 说明:库存单编码商品编号数据值类型:离散库存编号类型:数字库存序号长度:10有关数据:库存卡4.2数据结构条目数据结构条目名称:商品入库卡总编号:2-03说明:商品入库时填写的卡片编 号:006结构:有关的数据流,数据存储入库序号新商品入库表入库编号商品库存表商品编号商品名称规格数量:计量单位每年约2000份数量单价总金额入库日期经手人备注信息4.3.数据流条目数据流条目名称:库存信息表总编号:3-02简要说明:库存信息的汇总编 号:005数据流来源:账面库存数据流去向:P2.1,P2,2包含的数据结构

7、:流通量:1000份每年销售的商品商品库存记录4.4数据存储条目数据存储条目名称:库存盘点明细表总编号:4-05说明:库存信息汇总编 号:A1结构:有关的数据流盘点编号P2.1-A1A1-P2.1.2商品名称A1-P2.1.5账面库存信息量:150份每年实盘库存有无复查:有差异数3.5处理过程条目处理过程条目名称:打印库存盘点清单总编号:5-009说明:公布库存盘点信息,并说明库存情况编 号:P2.1.5输入:A1-P2.1.5输出:P2.1.5-盘点明细表处理:查A1(库存明显表),打印库存信息表及盘点信息表,表现好的可以保持,表现不令人满意的可加以调整,并注明表现不好的地方,要求改进。4.

8、6外部实体条目外部实体条目名称:员工总编号:06-001说明:编 号:001输出数据流:个数:约2000个输入数据流:P2.1,5员工(工资表)2.5程序运行流程图清单报表管理商品信息管理窗口验证失败,返回重新登陆登陆成功,进入操作主界面!清单报表管理商品信息管理窗口验证失败,返回重新登陆登陆成功,进入操作主界面!用户登陆基本信息管理窗体供应商信息管理窗口客户信息管理窗口登陆窗体:(系统(系统.frm))判断是否登陆成功。数据库数据:用户信息表验证登录库存管理窗口系统管理窗口退出窗口入库管理窗口出库管理窗口盘点库存管理窗口用户信息添加窗口用户密码修改窗口用户信息查询窗口数据备份与修改窗口库存清

9、单报表预览窗口库存清单报表打印窗口3.1模块结构设计该系统的总体结构设计如下图所示:人员信息档案管理系统包括基本信息管理,销售信息管理,库存信息管理,数据报表管理和系统管理等部分。其中,基本信息管理中可以对商品,供应商,客户基本信息进行添加,修改,查询和删除等操作,如图:库存管理中可以实现库存信息,入库单信息,出库单信息,盘点清单信息的录入,修改,查询等操作,如图:数据报表管理可以实现盘点清单的预览及打印等操作,如图:系统管理中主要是用户查询,添加用户,修改密码,数据备份及恢复等的操作,如图:3.2数据库概念设计3.3数据库逻辑设计1商品信息表字段名数据类型长度是否允许空说明商品编号varch

10、ar10否主键,惟一标识商品记录商品名称varchar50是单价varchar50是计量单位varchar10是产地varchar50是供应商名称varchar50是备注信息text16是2供应商信息表字段名数据类型长度是否允许空说明供应商编号varchar10否主键,惟一标识供应商记录供应商名称varchar50是供应商单位全称地址varchar50是邮政编码varchar10是联系电话varcgar20是企业网址varchar50是联系人varchar50是联系人电话varcgar20是开户银行varchar50是银行账号varchar13是备注信息text16是3客户信息表字段名数据类型

11、长度是否允许空说明客户编号varchar10否主键,惟一标识客户记录客户名称varchar50是客户单位全称地址varchar50是邮政编码varchar6是联系电话varchar20是企业网址varcgar30是联系人varchar50是联系人电话varcgar20是开户银行varchar50是银行账号varchar20是备注信息text16是4商品入库信息表字段名数据类型长度是否允许空说明入库序号decimal9否主键,惟一标识商品入库记录商品编号varchar10否外键,对应商品信息表中商品编号商品名称varchar50是供应商编号varchar10否外键,对应供应商信息表中供应商编号供

12、应商名称varchar50是规格varchar30是计量单位varchar10是数量varchar10是单价varchar50是总金额varchar50是日期datetime8是经手人varchar20是备注信息text16是修改人varchar20是修改日期datetime8是5商品库存信息表字段名数据类型长度是否允许空说明库存序号decimal9否主键,惟一标识商品库存记录库存编号varchar30是库存名称varchar50是商品编号varchar10否外键,对应商品信息表中商品编号规格varchar30是计量单位varchar10是数量varchar10是单价varchar50是总金额

13、varchar50是日期datetime8是备注信息text16是6商品出库信息表字段名数据类型长度是否允许空说明出库序号decimal9否主键,惟一标识商品入库记录出库编号varchar10是商品编号varchar10否外键,对应商品信息表中商品编号商品名称varchar50是规格varchar30是计量单位varchar10是数量varchar10是单价varchar50是总金额varchar50是出库日期datetime8是提货单位varchar50是提货人varchar50是经手人varchar20是备注信息text16是修改人varchar20是修改日期datetime8是7库存明细

14、表字段名数据类型长度是否允许空说明盘点编号varchar10否主键,惟一标识商品盘点记录商品编号varchar10否外键,对应商品信息表中商品编号商品名称varchar50是规格varchar30是计量单位varchar10是单价varchar50是账面库存varchar50是实盘库存varchar50是差异数varchar50是盘点人员varchar50是盘点日期datetime8是备注信息text16是8用户信息表字段名数据类型长度是否允许空说明用户编号varchar10否主键用户密码varchar10否用户名称varchar50是备注信息text16是3.4输出设计和输入设计3.4.1登

15、录界面:3.4.2主界面:3.4.3商品信息管理的输出界面如图所示:3.4.4入库单录入修改的输出界面如图所示:3.4.5入库单信息查询的输出界面如图所示:3.4.6盘点清单录入修改的输出界面如图所示:3.4.7数据库备份与恢复:3.4.8盘点清单打印界面:3.5代码设计3.5.1登录Option ExplicitDim SQL As StringDim msg As StringDim LoginSucceeded As BooleanDim 用户名称 As StringPrivate Sub Command1_Click() Dim rst As ADODB.Recordset Dim p

16、assword As String 判断用户是否存在 用户名称 = Trim(Text1.Text) 取出用户的ID SQL = select * from 用户信息表 where 用户名称= & 用户名称 & Set rst = SelectSQL(SQL, msg) If rst.RecordCount 0 Then password = Trim(rst.Fields(1) 取出该用户的密码 rst.Close Else MsgBox (数据库操作错误!) Exit Sub End If 判断密码是否正确 If password = Trim(Text2.Text) Then Login

17、Succeeded = True 系统.Show Unload Me Else MsgBox (密码错误!) LoginSucceeded = False End If End SubPrivate Sub Command2_Click() 设置全局变量为 false 不提示失败的登录 LoginSucceeded = False Unload MeEnd SubPrivate Sub Form_Load()登录.Enabled = TrueEnd SubPrivate Sub Form_Unload(Cancel As Integer) LoginSucceeded = False Unlo

18、ad MeEnd Sub进入系统主界面后,对系统进行操作,各代码如下: 3.5.1在基本信息管理界面中,各按钮的代码如下(以“商品信息管理”为例):Option ExplicitDim i As Integer 定义整型变量Dim rs1 As New ADODB.Recordset 定义数据集对象Dim rs As New ADODB.Recordset 定义数据集对象Dim SQL As StringDim msg As StringPrivate Sub Command1_Click() If Text1.Text = Then MsgBox 商品编号不允许为空! End If SQL

19、= SELECT * FROM 商品信息表 Set rs1 = SelectSQL(SQL, msg) 新增商品 rs1.AddNew rs1.Fields(商品编号) = Text1.Text rs1.Fields(商品名称) = Text2.Text rs1.Fields(单价) = Text3.Text rs1.Fields(单位) = Combo1.Text rs1.Fields(产地) = Text4.Text rs1.Fields(供应商名称) = Combo2.Text rs1.Fields(备注信息) = Text5.Text rs1.Update MsgBox 添加数据成功!

20、 关闭数据集对象 rs1.Close Unload Me 商品信息管理.ShowEnd SubPrivate Sub Command2_Click()商品信息管理.Hide系统.ShowEnd SubPrivate Sub Command3_Click()查询操作 Call LoadData 装载数据 Call ShowData 显示数据End SubPrivate Sub ShowData()在控件中显示数据 如果存在记录 为控件赋值 SQL = SELECT * FROM 商品信息表 Set rs = SelectSQL(SQL, msg) Set Me.DataGrid1.DataSou

21、rce = rs If rs.RecordCount 0 Then DataGrid1.Refresh End IfEnd SubPrivate Sub LoadData() 查询商品信息 SQL = SELECT * FROM 商品信息表 Set rs = SelectSQL(SQL, msg)Set Me.DataGrid1.DataSource = rs DataGrid1.Refresh rs.UpdateEnd SubPrivate Sub ControlClear()重置控件 Me.Text1.Text = Me.Text2.Text = Me.Text3.Text = Me.Te

22、xt4.Text = Me.Text5.Text = Me.Combo1.Text = Me.Combo2.Text = End SubPrivate Sub Command4_Click()删除操作 On Error GoTo ErrMsg 错误处理If rs.RecordCount 0 Then msg = MsgBox(删除该条记录吗?, vbYesNo) If msg = vbYes Then rs.Delete 删除数据 Call LoadData 重新装载数据 清空控件 Call ControlClear 设置控件Enable值为不可用 MsgBox (成功删除的数据!) End

23、If Else MsgBox (没有可删除的数据!) End If Exit SubErrMsg: 报告出错信息 MsgBox Err.Description, vbExclamation, 出错End SubPrivate Sub Form_Load()Combo1.AddItem (瓶)Combo1.AddItem (公斤)Combo1.AddItem (袋)Combo2.AddItem (吉良集团)Combo2.AddItem (吉林米业)Combo2.AddItem (宏基有限公司)Combo2.AddItem (光华企业)End Sub在库存信息查询界面中,各按钮的代码如下:Priv

24、ate Sub Command1_Click()查询操作 Dim colName As String 保存所选择的查询条件 Dim colValue As String 保存所要查询具体的值 Dim strWhere As String colName = Combo1.Text 取出条件的值 colValue = Text1.Text 取出所要查询的值 strWhere = where & colName & like % & colValue & % SQL = select * from 商品库存信息表 & strWhere Set rs = SelectSQL(SQL, msg) If

25、 rs.RecordCount 0 Then Set DataGrid1.DataSource = rs Else Set rs = Nothing End IfEnd SubPrivate Sub Command2_Click()退出操作库存信息查询.Hide系统.ShowEnd SubPrivate Sub Form_Load()Combo1.AddItem (库存序号)Combo1.AddItem (库存编号)Combo1.AddItem (商品编号)Combo1.AddItem (商品名称)Combo1.AddItem (日期)Combo1.ListIndex = 0End Sub.1

26、在入库单录入修改界面中,各按钮的代码如下:Option ExplicitDim i As Integer 定义整型变量Dim rs1 As New ADODB.Recordset 定义数据集对象Dim rs As New ADODB.Recordset 定义数据集对象Dim SQL As StringDim msg As StringPrivate Sub Command1_Click() If Text1.Text = Then MsgBox 入库序号不允许为空! End If SQL = SELECT * FROM 商品入库信息表 Set rs1 = SelectSQL(SQL, msg)

27、 新增商品 rs1.AddNew rs1.Fields(入库序号) = Text1.Text rs1.Fields(入库编号) = Text2.Text rs1.Fields(商品编号) = Text5.Text rs1.Fields(商品名称) = Text6.Text rs1.Fields(供应商编号) = Text4.Text rs1.Fields(供应商名称) = Combo1.Text rs1.Fields(规格) = Text7.Text rs1.Fields(计量单位) = Combo2.Text rs1.Fields(数量) = Text8.Text rs1.Fields(单价

28、) = Text9.Text rs1.Fields(总金额) = Text10.Text rs1.Fields(日期) = Me.DTPicker1.Value rs1.Fields(经手人) = Text3.Text rs1.Fields(备注信息) = Text11.Text rs1.Fields(修改人) = Text12.Text rs1.Fields(修改日期) = Me.DTPicker2.Value rs1.Update MsgBox 添加数据成功! 关闭数据集对象 rs1.Close Unload Me 入库单录入修改.ShowEnd SubPrivate Sub Comman

29、d4_Click()入库单录入修改.Hide系统.ShowEnd SubPrivate Sub Command2_Click()查询操作 Call LoadData 装载数据 Call ShowData 显示数据End SubPrivate Sub ShowData()在控件中显示数据 如果存在记录 为控件赋值 SQL = SELECT * FROM 商品入库信息表 Set rs = SelectSQL(SQL, msg) Set Me.DataGrid1.DataSource = rs If rs.RecordCount 0 Then DataGrid1.Refresh End IfEnd

30、SubPrivate Sub LoadData() 查询商品入库信息 SQL = SELECT * FROM 商品入库信息表 Set rs = SelectSQL(SQL, msg) Set Me.DataGrid1.DataSource = rs DataGrid1.Refresh rs.UpdateEnd SubPrivate Sub ControlClear()重置控件 Me.Text1.Text = Me.Text2.Text = Me.Text3.Text = Me.Text4.Text = Me.Text5.Text = Me.Text6.Text = Me.Text7.Text

31、= Me.Text8.Text = Me.Text9.Text = Me.Text10.Text = Me.Text11.Text = Me.Text12.Text = Me.Combo1.Text = Me.Combo2.Text = End SubPrivate Sub Command3_Click()删除操作 On Error GoTo ErrMsg 错误处理 If rs.RecordCount 0 Then msg = MsgBox(删除该条记录吗?, vbYesNo) If msg = vbYes Then rs.Delete 删除数据 Call LoadData 重新装载数据 清空

32、控件 Call ControlClear 设置控件Enable值为不可用 MsgBox (成功删除的数据!) End If Else MsgBox (没有可删除的数据!) End If Exit SubErrMsg: 报告出错信息 MsgBox Err.Description, vbExclamation, 出错End SubPrivate Sub Form_Load()Combo1.AddItem (吉良集团)Combo1.AddItem (吉林米业)Combo1.AddItem (宏基有限公司)Combo1.AddItem (光华企业)Combo2.AddItem (瓶)Combo2.Ad

33、dItem (公斤)Combo2.AddItem (袋)End Sub在修改密码界面中,“确定”按钮的代码如下:Option ExplicitDim SQL As StringDim msg As StringPrivate Sub Command2_Click()退出操作 系统.Enabled = True Unload MeEnd SubPrivate Sub Commandok_Click()确定操作 Dim rst As ADODB.Recordset Dim p1 As String 保存用户的密码 Dim p2 As String 保存用户的新密码 Dim p3 As String

34、 保存用户的确认密码 赋值p1 = Trim(Text1.Text) p2 = Trim(Text2.Text) p3 = Trim(Text3.Text) SQL = select * from 用户信息表 用户名称= & 用户名称 & SQL = SQL & and 用户密码= & p1 & On Error GoTo ErrMsg 出错处理 Set rst = SelectSQL(SQL, msg) If rst.RecordCount 0 Then 如果输入密码正确 检查新密码和确认密码 If (p3 p2) Then MsgBox (两次输入的密码不一致!) Exit Sub End

35、 If 接受新的密码 rst.Fields(密码) = p2 rst.Update MsgBox (更新成功!) Else MsgBox (用户名称或密码输入错误!) Exit Sub End If Exit SubErrMsg: 出错信息 MsgBox Err.Description, vbExclamation, 出错End SubPrivate Sub cmdCancel_Click()退出操作 系统.Enabled = True Unload MeEnd Sub数据库备份界面中的“开始备份”按钮的代码如下:Private Sub Cmd_BackUp_Click()Cmd_backup

36、.Enabled = FalseMe.MousePointer = 11If Text1.Text = Then MsgBox 请您选择数据库备份的路径!, 64, 提示信息ElseDim connter As IntegerDim SQL, workarea(6) As StringProgressBar1.Visible = TrueProgressBar1.Max = UBound(workarea)ProgressBar1.Value = ProgressBar1.Min For connter = LBound(workarea) To UBound(workarea) workar

37、ea(connter) = initial value & connter ProgressBar1.Value = connter 连接数据库 Call joins StrCnn.Open Str1 SQL = backup DATABASE db_kcgl TO disk= & Text1.Text & StrCnn.Execute (SQL) 执行SQL语句 StrCnn.Close Next connter ProgressBar1.Value = ProgressBar1.Min MsgBox 数据库备份成功!, 64, 提示信息 Cmd_backup.Enabled = True

38、Me.MousePointer = 0 End IfEnd Sub3.5.6公用模块设计代码:Public Function GetConnStr() As String得到数据库连接字符串,用户可以在此处设置连接字符串User ID 是数据库用户ID,Password是登陆密码Initial Catalog是数据库名,Data Source是服务器名称 ConnectionString = Provider =SQLOLEDB;Data Source=WWW-4A31291611D;Initial Catalog= wyx13;User ID=sa;Password=; GetConnStr

39、 = ConnectionStringEnd FunctionPublic Function OpenConn(ByRefConn As ADODB.Connection) As Boolean打开数据库连接,连接成功返回true,出错时返回falseSetConn = New ADODB.Connection 出错处理 On Error GoTo ErrorHandle Conn.Open GetConnStr OpenConn = True Exit FunctionErrorHandle: MsgBox 连接数据库失败!请重新连接! OpenConn = False Exit Funct

40、ionEnd FunctionPublic Sub ExecuteSQL(ByVal SQL As String, ByRef msg As String)执行SQL语句 Dim Conn As ADODB.Connection Dim sTokens() As String 出错处理 On Error GoTo ErrorHandle 判断SQL语句sTokens = Split(SQL)If InStr(INSERT,DELETE,UPDATE, UCase(sTokens(0) Then 打开数据库连接 If OpenConn(Conn) Then Conn.Execute SQL ms

41、g = sTokens(0) & 操作执行成功! End If Else msg = SQL语句有误: & SQL End IfFinally_Exit: Set rst = NothingSetConn = Nothing Exit SubErrorHandle: msg = 执行错误: & Err.Description Resume Finally_ExitEnd SubPublic Function SelectSQL(ByVal SQL _As String, ByRef msg As String) As ADODB.Recordset执行SQL语句,返回ADODB.Records

42、et Dim Conn As ADODB.Connection Dim rst As ADODB.Recordset Dim sTokens() As String 出错处理 On Error GoTo ErrorHandle 判断SQL语句 sTokens = Split(SQL) If InStr(SELECT, UCase(sTokens(0) Then 打开数据库连接 If OpenConn(Conn) Then Set rst = New ADODB.Recordset rst.CursorLocation = adUseClient rst.Open Trim$(SQL), Con

43、n, adOpenDynamic, adLockOptimistic Set SelectSQL = rst msg = 查询到 & rst.RecordCount & 条记录! End If Else msg = SQL语句有误: & SQL End IfFinally_Exit: Set rst = NothingSetConn = Nothing Exit FunctionErrorHandle: MsgString = 查询错误: & _ Err.Description Resume Finally_ExitEnd FunctionPublic Function BatchSelectSQL(ByVal SQL

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论