• 928.33 KB
  • 2022-05-16 18:34:26 发布

仓库管理系统的设计与实现8613633980

  • 40页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
目录1.Ms12.需求分析13.系统设计13.1模块设计13.2数据库设计24.系统实现34.1系统登陆44.2基本管理84.3系统查询164.4统计模块254.5设置模块28触语3334翻寸35 摘要:随着信息技术在管理上越来越深入而广泛的应用,仓库管理系统的实施在技术上已逐步成熟。仓库管理系统是一个不断发展的新型学科,企业要生存要发展,要高效率地把企业活动有机地组织起来,就必须加强企业管理,即加强对企业仓库内部的各种资源(人、财、物等)的有效管理,建立与自身特点相适应的管理信息系统。本文介绍了在VB6.0环境下采用“自上而下地总体规划,自下而上地应用开发”的策略开发一个企业合同管理信息系统的过程。通过分析传统的人工管理仓库的不足,创建了一套行之有效的计算机管理仓库的方案。论文详细介绍了仓库管理系统的需求分析、系统设计和系统实现。系统设计部分主要介绍了系统功能设计和数据库设计;系统实现部分列出主要模块的窗口界面和程序。本系统是在以ACCESS2003作为后台数据库,以VisualBasic为编程语言来开发的。仓库管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了仓库管理计算机化。本系统界面友好,操作简单,比较实用。关键词:VisualBasic6.0;仓库;管理系统;Access数据库ABSTRACT:Alongwiththeinformationtechnologyinthemanagementofmoreandmoredepthandawiderangeofapplications,storehousemanagementsystemintheimplementationoftechnologyhasgraduallymatured.Storehousemanagementsystemisacontinuousdevelopmentofnewdisciplines,enterprisetosurviveistodevelopandefficientbusinessactivitiesorganizedorganically,tostrengthenenterprisesmanagement,namely,tostrengthenenterpriseinternalvariousresources(human,financial,material,etc.),theeffectivemanagementoftheestablishmentanditsowncharacteristicsinlinewiththestorehousemanagementsystem.Thispaperintroducestheenvironmentin,VB6.0tooverallplanning,’’top-down"bottom-upapplicationdevelopmentstrategytodevelopaenterprisecontractmanagementinformationsystemprocess.Throughtheanalysisofthetraditionalmanualadministrationcontractinsufficiency,createdasetofeffectivecomputermanagementlibraryscheme.Thispaperintroducesindetailthebooksmanagementinformationsystemofanalysisparts,includingthefeasibilityanalysis,organizationanalysis,managementfunctionanalysis,businessprocessanalysis,dataflowanalysis,processingdescription,etc.;Systemdesignpartmainlyintroducedthesystemfunctiondesignanddatabasedesign;Systemrealizingsectionofseveralmajorprogramdiagram,andwithsomeofthemainwindowandprocedures.ThesystemisbasedonACCESS2003databaseasabackground,withVisualBasicasaprogramminglanguagetodevelop.Thissystemfriendlyinterface,theoperationissimple,ismorepractical.KEYWORDS:VisualBasic6.0;storehouse;managementsystem;AccessDatabase 1.前言随着计算机技术的日益成熟、晋及,现代企业管理的实际运作在很多方面、很大程度上都必须借助计算机来完成,相应软件的开发显得尤为重要。为了适应日趋激烈的市场竞争,企业需要对自身的经营状况冇充分的了解,并通过有效的管理不断提高效率。因此,对仓库的管理也成为提高生产经营效率的一个重要途径。传统的仓库管理存在诸多弊病。因为进行信息管理的方式主要是基于文本、表格等纸介质的手工处理,一般的存储情况是记录在账木上的。仓库的工作人员和管理员也只是当吋记得比较清楚,吋间一长,如果再要进行査询,就得在众多的资料中翻阅查找了,这样造成费时、费力,如要对很长时间以前的货品进行更改就更加困难了。对于货品的出入库情况的统计和核实采用对账本的人工检杳,对管理者的管理权限等不受约束,任何人都可查看,还容易引起资料外泄。另外,数据信息处理工作量大,容易出错,由于数据繁多,容易丢失,>1.不易查找。基于这些问题,开发一个仓库管理系统是相当必要的。仓库管理系统是为了实现企业仓库管理的系统化、规范化和自动化,提高企业管理效率而设计的。它完全取代丫人工管理的工作方式,避免了由于管理人员的工作疏忽以及管理质量问题所造成的各种错误,为及时、准确、高效的完成仓库管理提供了强有力的工具和管理手段。仓库管理系统使用ACCESS2003开发后台数据库,以VisualBasic为编程语言来开发前台应用程序。它界面美观、操作简单、安全性高,基本满足了仓库管理的要求。仓库管理系统在运行阶段,效果好,数据准确性高,提高了工作效率,同时也实现了仓库管理计算机化。2.需求分析通过对企业仓库管理流程的调研分析,该系统应当实现对仓库入库信息、出库信息、操作员信息的维护和管理,能够完成对仓库的各项信息的添加、修改、删除和查询功能。主要功能包括:(1)基本管理:实现仓库的进库和出库的添加、修改、删除和查询功能。(2)斉询管理:实现按日期斉询,按操作员斉询和物品斉询的功能。(3)月统计管理:实现按月查询进库、出库和库存统计管理功能。(4)用户管理:实现对操作员信息的添加、修改和密码修改功能。本系统要求性能稳定,图形用户界面符合日常使用惯,数据处理正确无误。3.系统设计3.1模块设计根据需求分析,仓库管理系统主要有五个模块:登陆模块、基本管理模块、查询 模块、统计模块和设置模块。仓库管理系统结构如图3.1所示。 仓库管理系统退出L基本管理►出库管理►登陆系统—>1系统登陆T►一系统载入图3.1仓库管理系统结构图3.2数据库设计根据系统功能设汁的要求及功能模块的划分,设置以下数据库表:(1)操作员信息表。如下表3-1所示:表3-1操作员信息表名称字段名称类型主键非空编号自动编号数字YesYes姓名姓名文本NoYes密码密码文本NoYes操作员ID操作员ID文本NoYes(2)进库信息表。如下表3-2所示:表3-2进库信息表名称字段名称类型主键非空品名品名文本YESYES价格价格文本NOYES数量数量数字NOYES 单位单位文本NOYES产品地址产品地址文本NOYES进货人1D进货人ID文本NOYES姓名姓名文本NOYES入库日期入库曰期曰期NOYES说明说明文本NONO编号编号数字NOYES(1)出库记录表。如下表3-3所示:表3-3出库记录表名称字段名称类型主键非空品名品名文本YESYES价格价格文本NOYES数量数量数字NOYES单位单位文本NOYES进货人ID进货人ID文本NOYES进货人ID进货人ID文本NOYES姓名姓名文本NOYES出库口期入库曰期口期NOYES其它用途其它用途文本NONO编号编号数字NOYES(2)库信息表。如下表3-4所示:表3-4库存记录表名称字段名称类型主键非空编号NO自动编号YESYES品名配件标号文本NOYES价格价格数字NOYES数量数量数字NOYES单位单位文本NOYES1.系统实现 4.1系统登陆(1)启动模块首先编写一个用于提供工程中所有数据连接的函数。代码如下:PublicUsernameAsStringPublicSqlAsStringDimrsAsADODB.RecordsetDimconnstrAsStringPublicFunctionExe$ql(ByValSqlAsString)AsADODB.RecordsetSetcn=NewADODB.ConnectionSetrs=NewADODB.RecordsetDimstrArrayOAsStringconnstr=nprovider=Microsoft.jet.OLEDB.4.0;Persistsecurityinfo=False;Datasource=”&App.Path&"dataStoreHouse.mdb"cn.Openconnstrrs.CursorLocation=adUseClientstrArray=Split(Sql)IfStrComp(UCase$(strArray(0)),"select"vbTextCompare)=0Thenrs.OpenTrim$(Sql),cn,adOpenKeyset,adLockOptimisticSetExesql=rsElsecn.ExecuteSqlEndIfExeSQLExit:Setrs=NothingSetcn=NothingExitFunctionErrHandler:MsgBox"错误号:”&Err.Number&"错误信息:”&Err.Description,vbExclamationResumeExeSQl一ExitEndFunction本模块提供系统启动功能,系统载入的时候会进行文件检查,如果缺少文件会有报错提不,界面如闻4.1和4.2所不。政迎咨L用31••••••图4.1载入界而 图4.2报错界而代码如下:DimStartAsIntegerPrivateSubForm_Load()IfApp.PrevInstanceThenMsgBoxApp.Title+"己运行!MEndEndIfIfDir(App.Path&’’data",vbDirectory)=""ThenMsgBox’*程序无法链接数据文件,请检查数据库是否存在”,vbExclamation,”提示”EndEndIfEndSubPrivateSubTimerl_timer()Start=Start+1IfStart=2ThenTimer1.Enabled=Falseflogin.ShowUnloadMeEndIfEndSub(1)登陆窗体本模块提供文本框输入操作员信息,点击“确定”按钮完成登录,点击“退出”按钮退出系统,界面如图4.3所示。图4.3登陆界而代码如下:PrivateSubCmdCal_Click()EndEndSub PrivateSubCmdOK_Click()DimSqlAsStringDimrstAsNewADODB.RecordsetIfTrim(Textl.Text)=ThenMsgBoxn用户名不能为空!’*,vblnformation,"系统登陆提示”Textl.SetFocusExitSubEndIfIfTrim(Text2.Text)=""ThenMsgBox"密硏不能为空!’*,vblnformation,n系统登陆提示"Text2.SetFocusExitSubEndIfSql="select*fromoperaterwhere姓名&Trim(Textl.Text)&Setrst=Exesql(Sql)Ifrst.Fields(l)=Trim(Text2.Text)ThenUsername=Trim(Text1.Text)Password=Trim(Text2.Text)rst.CloseUnloadMeMainform.ShowElseMsgBoxn川户名或密码有误!",vblnformation,"系统登陆提示”Textl.SetFocusEndIfEndSubPrivateSubForm_Load()Textl.Text=,H,Text2.Text=EndSub用户正常登录后,系统将进入主窗体。主窗体的设计如图4.4所示。 图七4主界面窗体主窗体中程序代码如下:PrivateSubM_About_Click()FrmAbout.ShowEndSubPrivateSubM_ChangePassword_Click()ChangePassword.ShowEndSubPrivateSubM_Exit_Click()aa=MsgBox(”确定退出吗?",1+32)Ifaa=1ThenEndEndSubPrivateSubM_FindArticle_Click()FrmFindArticle.ShowEndSubPrivateSubM_FindDate_Click()FrmFinddate.ShowEndSubPrivateSubM_FindPerson_Click()FrmFindperson.ShowEndSubPrivateSubM_InStorehouse_Click()Frmlnstorehouse.ShowEndSubPrivateSubM_ManSemp_Click()frmPerson.ShowEndSubPrivateSubM_OperaterSetup_CIick()frmOperater.ShowEndSubPrivateSubM_OutStorehouse_Click()FrmOutstorehouse.ShowEndSubPrivateSubM_TotalMonth_Click() FrmTotalmonth.ShowEndSubPrivateSubM_U$er_Click()FrmUser.ShowEndSubPrivateSubMDIForm_Load()Mainform.BackColor=&H80000003strl=1•日一二三四五六”StatusBar1.Panels.Item(4).Text="星期"&Mid(strl,Weekday(Date),1)StatusBarl.Panels.Item(3).Text=DateStatusBarl.Panels.Item(l).Text="操作员:&UsernameEndSubPrivateSubMDIForm_QueryUnload(CancelAsInteger,UnloadModeAsInteger)Cancel=MsgBox(’•确定退出吗?n,1+32)IfCancel=1ThenEndEndSubPrivateSubToolbarl_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.indexCaseIs=1M_InStorehouse_ClickCaseIs=10M_Exit_ClickCaseIs=2M_OutStorehouse_ClickCaseIs=4M_FindPerson_ClickCaseIs=5M_FindArticle_ClickCaseIs=7M_TotalMonth_ClickEndSelectEndSub 4.2基本管理(l)入库管理本模块主要提供物品进库管理功能,具体设计如图4.5所示。图4.5进库窗口代码如下:PrivateSubCommand1_Click()DimiAsIntegerFori=0To6IfTextl(i).Text=n"ThenMsgBox"请将信息填写完整",vbOKOnly+vbExclamation,"警告"ExitSubEndIfNextiSql="select*fromoperaterwhere姓名="’&Trim(Textl(6))&and操作员ID=,H&Trim(Textl(5))&…,,Setrs=Exesql(Sql)Ifrs.EOFThenMsgBox("仓管巾无此人,请重添加操作员!n)Textl(5).Text="nTextl(6).Text=UHText1(6).SetFocu$ExitSubEndIfrs.CloseSql="select*frominstorehouse"Setrs=Exesql(Sql)rs.AddNewrs.Fields(O)=Trim(Text1(O).Text)rs.Fields(l)=Text1(1).Textrs.Fields(2)=Textl(2).Textrs.Fields(3)=Trim(Text1(3).Text)rs.Fields(4)=Text1(4).Textrs.Fields(5)=Textl(5).Textrs.Fields(6)=Textl(6).Textrs.Fields(7)=Text 1(8).Textrs.Fields(8)=Text1(7).Textrs.Updaters.Requeryrs.CloseCallListUpdateSql="select*fromstockwhere品名=”"&Trim(Textl(O).Text)&and价格=,M&Trim(Textl(l).Text)&"…Setrs=Exesql(Sql)Ifrs.EOF=TrueThenrs.AddNewrs.Fields(O)=Textl(O).Textrs.Fields(l)=Text1(1).Textrs.Fields(2)=Textl(2).Textrs.Fields(3)=Textl(3).Textrs.Updaters.Requeryrs.CloseElsers.Fields(2)=rs.Fields(2)+Textl(2).Textrs.Updaters.RequeryEndIfMsgBox"入库成功!nCallClearAllTextl(0).SetFocusEndSubPrivateSubCommand2_Click()CallClearAllText1(0).SetFocusEndSubPrivateSubCommand3_Click()UnloadMeEndSubPrivateSubForm_Load()Me.Top=(Mainform.Height-Me.Height)/2-800Me.Left=(Mainform.Width-Me.Width)/2Me.Caption=”仓库管理系统一n&"采购人库操作”CallClearAllTextl(8).Text=DateEndSubPrivateSubTextl_LostFocus(indexAsInteger)Textl(index).BackColor=&HFFC0C0EndSubPrivateSubTextl_GotFocus(indexAsInteger)Textl(index).BackColor=&HC0FFFFEndSubPrivateSubListCh()list.ColWidth(4)=n1300" li$t.ColWidth(5)=H1000Hlist.ColWidth(6)=H1000nlist.ColWidth(7)="900”list.TextMatrix(0,0)=”品名"list.TextMatrix(O,1)="价格"li$t.TextMatrix(0,2)="数量"list.TextMatrix(O,3)=1•单位•’list.TextMatrix(0,4)="产品地址"list.TextMatrix(O,5)="入库人ID"list.TextMatrix(O,6)="入库人姓名li$t.TextMatrix(O,7)=”入库曰期”EndSubPrivateSubClearAll()Fori=0To7Textl(i).Text="nTextl(i).BackColor:&HFFC0C0NextiEndSubPrivateSubListUpdate()DimrowwAsIntegerSql=’.Select*frominstorehouseorderby编号descSetrs=Exesql(Sql)list.Clearlist.Rows=1roww=1CallListChrs.Updaters.Requeryrs.MoveFirstDoWhilers.EOF=Falselist.Rows=list.Rows+1list.TextMatrix(roww,0)=rs.Fields(O)list.TextMatrix(roww,1)=rs.Fields(l)list.TextMatrix(roww,2)=rs.Fields(2)list.TextMatrix(roww,3)=rs.Fields(3)Hst.TextMatrix(roww,4)=r$.Fie!d$(4)list.TextMatrix(roww,5)=rs.Fields(5)list.TextMatrix(roww,6)=rs.Fields(6)list.TextMatrix(roww,7)=rs.Fields(7)roww=roww+1rs.MoveNextLooprs.CloseEndSub (2)出库管理本模块提供出库管理功能,具体设计如图4.6所示。图4.6出库窗口代码如下:PrivateSubCommand1_Click()DimiAsIntegerDimYesNoAsStringFori=0To7IfTextl(i).Text=""ThenMsgBox”请将信息填写完整’’,vbOKOnly+vbExclamation,"警告nExitSubEndIfNextiSql="select*fromoperaterwhere姓名=n,&Trim(Textl(6))&"■AND操作员ID=,u&Trim(Textl(5))&…,,Setrs=Exesql(Sql)Ifrs.EOFThenMsgBox("仓管中无此人,请重添加操作员!’’)Textl(5).Text=,,HTextl(6).Text=,,HTextl(6).SetFocusExitSubEndIfrs.CloseSql="select*fromstockwhere品名&Trim(Textl(O))&"•and价格="•&Trim(Textl(l))&,nnSetrs=Exesql(Sql)Ifrs.EOF=TrueThenMsgBox(n仓库屮无此物品,请采购!n)CallClearAllTextl(0).SetFocusExitSubElseIfrs.Fields(2)0ThenYesNo=MsgBox(n数fi超出库存:数:g【”+Trim(Str(rs.Fields(2)))+"•】是否全取!M,vbYesNo)IfYesNo=n6"Then rs.Fields(2)=0Text2(0).Text=rs.Fields(O)Text2(l).Text=rs.Fields(l)Text2(2).Text=rs.Field$(2)Text2(3).Text=rs.Fields(3)rs.UpdateCallList1updateElseTextl(2).SelStart=0Textl(2).SelLength=Len(Textl(2))Textl(2).SetFocusExitSubEndIfElseIfrs.Fields(2)=0ThenMsgBox("此物品己为空!’•)Text1(0).SelStart=0Text1(0).SelLength=Len(Textl(O))Text1(O).SetFocusExitSubElsers.Fields(2)=rs.Fields(2)-Val(Textl(2))rs.Updaters.RequeryText2(2).Text=rs.Fields(2)rs.Close’给出库加信息Sql="select*fromOUTstorehouse"Setrs=Exesql(Sql)rs.MoveFirstrs.AddNewrs.Fields(O)=Trim(Text1(O).Text)rs.Fields(l)=Text1(1).Textrs.Fields(2)=Text1(2).Textrs.Fields(3)=Textl(3).Textrs.Fields(4)=Textl(4).Textrs.Fields(5)=Textl(5).Textr$.Fields(6)=Textl(6).Textrs.Fields(7)=Textl(7).Textrs.Updaters.CloseCallList1updateEndIfEndIfEndIfMsgBox”出库成功” EndSubPrivateSubCommand2_Click()CallClearAllEndSubPrivateSubCommand3_Click()UnloadMeEndSubPrivateSubCommand4_Click()Fori=0To1IfText2(i)=,,uThenMsgBox(n请输入产品名称和产品价格")ExitSubEndIfNextiSql="select*fromstockwhere品名="”&Trim(Text2(0))&and价格&Trim(Text2(l))&Setrs=Exesql(Sql)Ifrs.EOF=TrueThenMsgBox(”仓库中无此物品,请采购!n)Text2(0).SetFocusCallClearAllExitSubElse1Text2(0).Text=rs.Fields(O)Text2(l).Text=rs.Fields(l)Text2(2).Text=r$.Field$(2)Text2(3).Text=rs.Fields(3)EndIfrs.CloseEndSubPrivateSubForm一Load()Me.Top=(Mainform.Height-Me.Height)/2-800Me.Left=(Mainform.Width-Me.Width)/2Me.Caption="仓库管理系统一”&”出库操作’•CallClearAllText1(4).Text=DateEndSubPrivateSublistlCh()list1.ColWidth(6)=n1000Hlistl.ColWidth(7)="1770"listl.TextMatrix(O,0)="名称"listl.TextMatrix(O,1)=”价格”listl.TextMatrix(O,2)="数量"li$tl.TextMatrix(O,3)="单位"listl.TextMatrix(O,4)=•’出库H期nlistl.TextMatrix(0,5)="出库人ID" listl.TextMatrix(O,6)="出库人姓名"listl.TextMatrix(O,7)="出库原因"EndSubPrivateSubClearAll()Fori=0To7Textl(i).Text=,,HTextl(i).BackColor=&HC0C000NextiForj=0To3Text2(j)=""Text2(j).BackColor=&HC0C000NextjEndSubPrivateSubText2_GotFocus(indexAsInteger)Text2(index).BackColor=&HC0FFFFEndSubPrivateSubTextl_GotFocus(indexAsInteger)Textl(index).BackColor=&HC0FFFFTextl(4).Text=DateEndSubPrivateSubTextl_LostFocus(indexAsInteger)Textl(index).BackColor=&HC0C000EndSubPrivateSubText2_LostFocus(indexAsInteger)Text2(index).BackColor=&HC0C000EndSubPrivateSubListlupdate()DimrowwAsIntegerroww=1list1.Clearlist1.Rows=1CalllistlChSql="Select*fromoutstorehouseorderby编号descSetrs=Exesql(Sql)DoWhilers.EOF=Falselistl.Rows=listl.Rows+1listl.TextMatrix(roww,0)=rs.Fields(O)listl.TextMatrix(roww,1)=rs.Fields(l)listl.TextMatrix(roww,2)=rs.Fields(2)listl.TextMatrix(roww,3)=rs.Fields(3)listl.TextMatrix(roww,4)=rs.Fields(4)listl.TextMatrix(roww,5)=rs.Fields(5)listl.TextMatrix(roww,6)=rs.Fields(6)listl.TextMatrix(roww,7)=rs.Fields(7)roww=roww+1rs.MoveNext Looprs.CloseEndSub4.3系统查询(l)按口期查询按口期查询窗体,提供给用户按口期查询进库和出库信息,具体设计如图4.7所示。图4.7按日期查询代码如下:DimInSqlAsStringDimOutSqlAsStringPrivateSubCommand1_Click()OutSql=’’select*fromoutstorehousewhere出库曰期between&Format(DTPdatel,"yyyy-mm-ddu)&u#and#n&Format(DTPdate2,’’yyyy-mm-dd")&TInSql="select*frominstorehousewhere入库日期between#"&Format(DTPdate1,"yyyy-mm-dd")&n#and#"&Format(DTPdate2,Myyyy-mm-ddH)&”井”CalllistlUp(OutSql)Calllist2Up(InSql)EndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Me.Top=(Mainform.Height-Me.Height)/2-800Me.Left=(Mainform.Width-Me.Width)/2Me.Caption="仓库管理系统&n按日期查询操作”DTPdatel.Value=DateDTPdate2.Value=DateEndSubPrivateSublist2Ch()list2.ColWidth(6)=H1000nlist2.ColWidth(7)=,,1050nli$t2.TextMatrix(0,0)="品名"list2.TextMatrix(0,1)="价格" list2.TextMatrix(0,2)=n数量"list2.TextMatrix(0,3)=”单位"list2.TextMatrix(0,4)="产品地址nlist2.TextMatrix(0,5)="入库人ID"list2.TextMatrix(0,6)="入库人姓名"list2.TextMatrix(0,7)="入库日期"EndSubPrivateSublistlCh()list1.ColWidth(6)="lOOO"listl.ColWidth(7)="1050"listl.TextMatrix(O,0)="名称”listl.TextMatrix(O,1)=”价格”listl.TextMatrix(O,2)="数量"li$tl.TextMatrix(O,3)="单位"listl.TextMatrix(O,7)="山库H期”listl.TextMatrix(O,5)="出库人ID"listl.TextMatrix(O,6)="出库人姓名"listl.TextMatrix(O,4)="出库原因"EndSubPrivateSublist2Up(StrSQLAsString)DimrowwAsIntegerSetrs=Exesql(InSql)list2.Clearlist2.Rows=1roww=1Calllist2ChDoWhilers.EOF=Falselist2.Rows=list2.Rows+1list2.TextMatrix(roww,0)=rs.Fields(O)list2.TextMatrix(roww,1)=rs.Fields(l)list2.TextMatrix(roww,2)=rs.Fields(2)list2.TextMatrix(roww,3)=rs.Fields(3)list2.TextMatrix(roww,4)=r$.Fields(4)list2.TextMatrix(roww,5)=rs.Fields(5)list2.TextMatrix(roww,6)=rs.Fields(6)list2.TextMatrix(roww,7)=rs.Fields(7)roww=roww+1rs.MoveNextLooprs.CloseEndSubPrivateSublist1Up(StrSQLAsString)DimrowwAsInteger roww=1list1.Clearlistl.Rows=1CalllistlChSetrs=Exesql(OutSql)OutCount=rs.RecordCountDoWhilers.EOF=Falselistl.Rows=listl.Rows+1list1.TextMatrix(roww,0)=rs.Fields(O)listl.TextMatrix(roww,1)=rs.Fields(l)listl.TextMatrix(roww,2)=rs.Fields(2)listl.TextMatrix(roww,3)=rs.Fields(3)listl.TextMatrix(roww,4)=rs.Fields(7)list1.TextMatrix(roww,5)=rs.Fields(5)listl.TextMatrix(roww,6)=r$.Fields(6)listl.TextMatrix(roww,7)=rs.Fields(4)roww=roww+1rs.MoveNextLooprs.CloseEndSub(2)按人员查询本窗体提供给用户按操作员名称査询进库和出库信息,具体设汁如图4.8所示。阁4.8按人员查询代码如下:PublicInSqlAsStringPublicOutSqlAsStringPrivateSubCommand1_Click()IfTextl(l).Text=,,HThenMsgBox("输入的编号有误,请重新输入!n)Text1(0).SelStart=0Textl(O).SelLength=Len(Textl(0))Textl(0).SetFocusExitSubEndIf InSql="select*fromoutstorehousewhere姓名=’’•&Trim(Textl(l).Text)&orderby编号desc”OutSql="select*frominstorehousewhere姓名="’&Trim(Textl(l).Text)&",HCalllistlUp(OutSql)Calllist2Up(InSql)EndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm一Load()Me.Top=(Mainform.Height-Me.Height)/2-800Me.Left=(Mainform.Width-Me.Width)/2Me.Caption="仓库管理系统一n&’’按人查询操作Text1(0).BackColor=&HFFC0C0Textl(l).BackColor=&HFFC0C0Textl(0).Text=""Textl(l).Text=,,nEndSubPrivateSublist2Ch()’将li$t2的表头初始化list2.ColWidth(6)="*1000Hlist2.ColWidth(7)="1050" OcIPOJ=MAKOJl=smohtJSH(lbsui)ibs9XH=sjpsJ9o31UJS/AMOJUIIQ(SuijjssviOSJlS)dn31s!lqnsqnspuau図酋華恥.=(t40)x!耶即xqri叫i..眾骑Y窜W,.=(9wp^w^rpsn„aiY窜Wu=(s‘O)x!w㈧1X3丄.ps!i.•旗曰窜STL.=(£‘0)巧哪p似i•网.,H=(e‘0)叩川㈧i抑丄.ijsh.綱“=(Z:WxuiupMixqL-psii.,Ob=(iwp^w^rpsn“救眾,•=(0‘0)x!WIN1X3丄.【1SH“osou=(Dw,m聆nhOooi.,=(9)MWMra-nsnOMDl^nqns事!.MqnspugJIPU3jipua(o)^ppysj=n^i;(i)丄U叫丄3S[UJ=(lbs)lbs9X3=sjps豕((0)1!似丄)uqj丄豕…=CH留棚3J3qMJojuusdouiojj*psps,,=ib§uoqi0=X3pujjiODOOdHH^=JO|oo>|ona-(x3pui)nx3jL(jonojujs’vxopui)snoojjsoq-[qngqnspugJIpugHu=^r(i)n^±uaq丄0=xapu!JI=叫03不)叩•(似pu!)n⑸丄(joSojuisvxopui)snooJJ09-ixoiqngqnsPU3“旗日窜Y“=(£‘0冲Wp似1•調涔骑丫絮Y“=(9‘0)叩邛丄7叫i„aiY窜Y“=(s‘0)xp^W!xqi7JsnuT¥聊呰zzfL.=(女‘o)xp剛•调“?}*.•=(£:4O)^W1^171SH“暮骚“=(乙40)xP^WJ^174SH..谢抓.=(l ‘0)叩邛丄7叫i..眾皆,.=(0<0)xuiupMixqL-3JSii DoWhilers.EOF=Falselist2.Rows=li$t2.Rows+1list2.TextMatrix(roww,0)=rs.Fields(O)list2.TextMatrix(roww,1)=rs.Fields(l)list2.TextMatrix(roww,2)=rs.Fields(2)list2.TextMatrix(roww,3)=rs.Fields(3)list2.TextMatrix(roww,4)=r$.Fields(4)list2.TextMatrix(roww,5)=rs.Fields(5)list2.TextMatrix(roww,6)=rs.Fields(6)list2.TextMatrix(roww,7)=rs.Fields(7)roww=roww+1rs.MoveNextLooprs.CloseEndSubPrivateSublist1Up(StrSQLAsString)DimrowwAsIntegerroww=1list1.Clearlistl.Rows=1CalllistlChSetrs=Exesql(OutSql)DoWhilers.EOF=Falselistl.Rows=listl.Rows+1listl.TextMatrix(roww,0)=rs.Fields(O)list1.TextMatrix(roww,1)=rs.Fields(l)list1.TextMatrix(roww,2)=rs.Fields(2)listl.TextMatrix(roww,3)=rs.Fields(3)listl.TextMatrix(roww,4)=rs.Fields(7)listl.TextMatrix(roww,5)=rs.Fields(5)list1.TextMatrix(roww,6)=rs.Fields(6)listl.TextMatrix(roww,7)=r$.Fields(4)roww=roww+1rs.MoveNextLooprs.CloseEndSub DoWhilers.EOF=Falselist2.Rows=li$t2.Rows+1list2.TextMatrix(roww,0)=rs.Fields(O)list2.TextMatrix(roww,1)=rs.Fields(l)list2.TextMatrix(roww,2)=rs.Fields(2)list2.TextMatrix(roww,3)=rs.Fields(3)list2.TextMatrix(roww,4)=r$.Fields(4)list2.TextMatrix(roww,5)=rs.Fields(5)list2.TextMatrix(roww,6)=rs.Fields(6)list2.TextMatrix(roww,7)=rs.Fields(7)roww=roww+1rs.MoveNextLooprs.CloseEndSubPrivateSublist1Up(StrSQLAsString)DimrowwAsIntegerroww=1list1.Clearlistl.Rows=1CalllistlChSetrs=Exesql(OutSql)DoWhilers.EOF=Falselistl.Rows=listl.Rows+1listl.TextMatrix(roww,0)=rs.Fields(O)list1.TextMatrix(roww,1)=rs.Fields(l)list1.TextMatrix(roww,2)=rs.Fields(2)listl.TextMatrix(roww,3)=rs.Fields(3)listl.TextMatrix(roww,4)=rs.Fields(7)listl.TextMatrix(roww,5)=rs.Fields(5)list1.TextMatrix(roww,6)=rs.Fields(6)listl.TextMatrix(roww,7)=r$.Fields(4)roww=roww+1rs.MoveNextLooprs.CloseEndSub (2)按物品查询木窗Ul提供给用户按物品名称查询进库和出库信息,具体设计如图4.9所示。图4.9按物品查询代码如下:PublicInSqlAsStringPublicOutSqlAsStringPublicAllSqlAsStringPrivateSubCommandl_Click()IfTrim(Textl(O))=OrTrim(Textl(l))=,u,ThenMsgBox("品名和价不能为空!’*)Text1(0).SelStart=0Text1(0).SelLength=Len(Textl(0))Text1(0).SetFocusExitSubElseOutSql="select*fromoutstorehousewhere品名=’’’&Trim(Textl(0))&"•and价格="’&Trim(Textl(l))&"…InSql="select*frominstorehousewhere品名=’”&Trim(Textl(0))&and价格=".&Trim(Textl(l))&謂AllSql="select*fromstockwhere品名&Trim(Textl(0))&and价^=u,&Trim(Textl(l))&.…,CalllistlUp(OutSql)Calllist2Up(InSql)Calllist3Up(AHSql)EndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Me.Top=(Mainform.Height-Me.Height)/2-800Me.Left=(Mainform.Width-Me.Width)/2Me.Caption=n仓库管理系统->"&n按物品名称查询操作uTextl(0).Text=n"下extl(1).丁ext二"nTextl(0).BackColor=&HFFC0C0 Textl(I).BackColor=&HFFC0C0(O)SPPH.SJ=(0^MOJ)XIJJBpV)X9iejSI||+SMO^"^STl=SMO^-£JSI|=JO3SJOBMMoaMDE^n1^3I=M/WOJI=SMoy^jsn脚K3.OTI(lt>SUV)lbs3X3=sjpsJ3o9)UIsyMMOJIUIQ(§uu)sSVlbsUV)dflC)snqns刃ea!.mqnspug.,团凿類ST!..=(t‘0)巧哪pmsn凌骑Y窜田••=(9似丄.nsji,.aiY封W“=k40)xuiu^xoi-psy“谢白窜FP“=(£‘0)叩代W)X3丄•I1SH“玛南,•=(e‘0)x!耶㈧1X3丄.,暮骚.,=te‘o冲剛脚i]isnu谢抓.=(I4O)XPRAPX3丄]叫1“料,,=(04o)xu)wxorl)SHnOSOlu=(DMIPIMPD"psnmOOOIh=(9)MJPWODPS!lOMOPSTIqns那八pidqnspug“隨日窜Y“=(△‘0)xp邛W】xqi7isn涔骑丫封Y“=(9^ujB^xqLYisn„aiY窜Y“=(s‘0)x!』WIN1X3丄•乙1S!|舸呰Wu=(t‘0冲饵,3丄.调.,玢亩,.=(e‘0)印川丄7叫|“軎艤“=(Z:‘0)xp邛“锅吩..=(I‘0)叩代W)X3丄71SH•.漆呰,•=(0‘0)x!JW㈧1X3丄•乙oOgOL.=(DWPIAMODTlsnnOOOlu=(9)M1PIM[O3T3SHOMDZ^HqnsWAUJqnspug“馳《=(e‘o)x!耶㈧丄psn.,暮骚,•=(乙‘o冲剛脚itish.,谢抓.=(I ‘o)xymAP似丄*£)叫“聯《=(0‘0)x!W即X3丄gsnOMDPSUqnsqnspug=J0io3>(ona(x3pui)nx3i(J3S3UIJsyxopui)snoojjoQ-[ixsj^qn§sjuaujqnspuglist3.TextMatrix(roww,1)=rs.Fields(l)li$t3.TextMatrix(roww,2)=rs.Fields(2)list3.TextMatrix(roww53)=rs.Fields(3)roww=roww+1rs.MoveNextLooprs.CloseEndSubPrivateSublist2Up(InSqlAsString)DimrowwAsIntegerSetrs=Exesql(InSql)list2.Clearlist2.Rows=1roww=1Calllist2ChDoWhilers.EOF=Falselist2.Rows=list2.Rows+1list2.TextMatrix(roww,0)=rs.Fields(O)list2.TextMatrix(roww,1)=rs.Fields(l)list2.TextMatrix(roww,2)=rs.Fields(2)list2.TextMatrix(roww,3)=rs.Fields(3)list2.TextMatrix(roww,4)=r$.Fields(4)list2.TextMatrix(roww,5)=rs.Fields(5)list2.TextMatrix(roww,6)=rs.Fields(6)list2.TextMatrix(roww,7)=rs.Fields(7)roww=roww+1rs.MoveNextLooprs.CloseEndSubPrivateSublistlUp(OutSqlAsString)DimrowwAsIntegerroww=1list1.Clearlistl.Rows=1CalllistlChSetrs=Exesql(OutSql)DoWhilers.EOF=Falselistl.Rows=listl.Rows+1listl.TextMatrix(roww,0) =rs.Fields(O)list1.TextMatrix(roww,1)=rs.Fields(l)list1.TextMatrix(roww,2)=rs.Fields(2)listl.TextMatrix(roww,3)=rs.Fields(3)listl.TextMatrix(roww,4)=rs.Fields(7)listl.TextMatrix(roww,5)=rs.Fields(5)list1.TextMatrix(roww,6)=rs.Fields(6)listl.TextMatrix(roww,7)=rs.Fields(4)roww=roww+1rs.MoveNextLooprs.CloseEndSub4.4统计模A本模块为用户提供按月份统计进库、出库信息和库存信息,具体如图4.10所示。-1113^22111.311812llr33381llll:u1112B*rirr1113111122c111311112oxllllll33=llllll2222》1/0/12OI2Z5>2012/2012/5/12012/4/30£012/4/30^01^/4/302UX2/4/JU2012/4/302012/4/302012/4/3011113311112113333r-ys2012/5/12012/4/302012/4/30^•01^/4/302012/4/302012/4/W2012/4/302012/4/302012/4/30,|价格133-n华feUVZ3ES3aiKSZ3KJSg,|K!C5=1;12322222222222233331111123123123X23112211OOO1111111OOO22222222222233333333222333333333333333311111111I出g原四通GE邵lOOO222oOOO2222222222333333沙25?222222111333333333333出g曰期2012/5/1图4.10统计窗口代码如下:PublicInCountAsIntegerPublicOutCountAsIntegerPublicInSqlAsStringPublicOutSqlAsStringPrivateSubCommand1_Click()•查询IfTrim(Combol.Text)=ThenMsgBox("请选择你要查询的月份!*’)Combol.SetFocusExitSubEndIfInSql="select*fromoutstorehousewheremonth(出库日期)=”’&Left(Trim(Combo1.Text),1)&"Morderby编号desc"OutSql="select*frominstorehousewheremonth(入库曰期)=…&Left(Trim(Combo1.Text),1)&’’’orderby编号desc"CalllistlUp(InSql)Calllist2Up(0utSql)Label3.Caption="本月进库次数为K"&Trim(Str(InCount))&"2" Label4.Caption=n本月出库次数为Kn&Trim(Str(OutCount))&n3"’EndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Me.Top=(Mainform.Height-Me.Height)/2-800Me.Left=(Mainform.Width-Me.Width)/2Me.Caption=n仓库管理系统-*n&”按月统计”InSql="Select*frominstorehouseorderby编号desc’’OutSql=""Select*fromoutstorehouseorderby编号desc"CalllistlUp(InSql)Calllist2Up(OutSql)Label3.Caption="总进库次数为K"+Trim(Str(InCount))+"3"Label4.Caption="总出库次数为K"+Trim(Str(OutCount))+"3EndSubPrivateSublist2Ch()’将list2的表头初始化list2.ColWidth(6)="1000"list2.ColWidth(7)="1050"list2.TextMatrix(0,0)=”品名"list2.TextMatrix(0,1)=”价格”list2.TextMatrix(0,2)="数量"li$t2.TextMatrix(0,3)="单位"list2.TextMatrix(0,4)="产品地址”list2.TextMatrix(0,5)="入库人ID"list2.TextMatrix(0,6)="入库人姓名"list2.TextMatrix(0,7)="入库日期”EndSubPrivateSublistlCh()’将listl的表头初始化list1.ColWidth(6)=H1000"listl.ColWidth(7)="1050"listl.TextMatrix(0,0)="名称"li$tl.TextMatrix(0,1)="价格"listl.TextMatrix(0,2)=n数量”listl.TextMatrix(0,3)=”雄位’’listl.TextMatrix(0,7)="出库日期nlistl.TextMatrix(0,5)="出库人ID"listl.TextMatrix(0,6)=”出库人姓名nlistl.TextMatrix(0,4)="出库原因"EndSubPrivateSublist2Up(StrSQLAsString)DimrowwAsInteger Setrs=Exesql(InSql)list2.Clearlist2.Rows=1roww=1Calllist2ChDoWhilers.EOF=Falselist?.Rows=list2.Rows+1list2.TextMatrix(roww,0)=rs.Fields(O)list2.TextMatrix(roww,1)=rs.Fields(l)list2.TextMatrix(roww,2)=rs.Fields(2)list2.TextMatrix(roww,3)=rs.Fields(3)list2.TextMatrix(roww,4)=rs.Fields(4)list2.TextMatrix(roww,5)=rs.Fields(5)list2.TextMatrix(roww,6)=r$.Fields(6)list2.TextMatrix(roww,7)=rs.Fields(7)roww=roww+1rs.MoveNextLoopInCount=rs.RecordCountrs.CloseEndSubPrivateSublistlUp(StrSQLAsString)DimrowwAsIntegerroww=1list1.Clearlistl.Rows=1CalllistlChSetrs=Exesql(OutSql)OutCount=rs.RecordCountDoWhilers.EOF=Falselistl.Rows=listl.Rows+1listl.TextMatrix(roww,0)=rs.Fields(O)list1.TextMatrix(roww,1)=rs.Fields(l)list1.TextMatrix(roww,2)=rs.Fields(2)listl.TextMatrix(roww,3)=rs.Fields(3)listl.TextMatrix(roww,4)=rs.Fields(7)listl.TextMatrix(roww,5)=rs.Fields(5)list1.TextMatrix(roww,6)=rs.Fields(6)listl.TextMatrix(roww,7)=r$.Fields(4)roww=roww+1rs.MoveNextLooprs.CloseEndSub 4.5设置模块木模块实现操作员添加、删除、修改和密码修改。(1)操作员设置界面如图4.11所示。阁4.11操作员设置代码如下:PrivateSubcmdadd_Click()IfTextl(O)=""ThenMsgBox"姓名不能为空!"vblnformation,’’系统登陆提示”Text1(0).SetFocusExitSubEndIfIfTextl(l)=,M,ThenMsgBoxn密码不能为空!",vblnformation,"系统登陆提示”Text1(1).SetFocusExitSubEndIfIfTextl(2)=""ThenMsgBox”操作员ID不能为空!’’,vblnformation,"系统登陆提示”Text1(1).SetFocusExitSubEndIfdSQL="select*fromoperaterwhere操作员ID=""&Trim(Textl(2))&Setrs=Exesql(dSQL)Ifrs.EOF=FalseThenMsgBox”此操作员ID已存在,请重新输入IDnTextl(2).Text=,H,rs.CloseExitSubEndIfSql="select*fromoperaterwhere姓名=""&Trim(Text1(0))&Setrs=Exesql(Sql)Ifrs.EOF=FalseThenMsgBox"该操作员己经存在!!!”Text1(0)=•…Textl(l)="”Text1(0).SetFocus ExitSubElsers.AddNewrs.Fields(O)=Trim(Textl(0))rs.Fields(l)=Trim(Textl(l))rs.Fields(2)=Trim(Textl(2))rs.Updaters.Requeryrs.CloseEndIfList.Enabled=FalseCallGXTextl(0)=,n,Textl(1)="H,Textl(2)=,H,Text1(0).SetFocusEndSubPrivateSubcmddel_Click()IfTextl(0)=”nThenMsgBoxn姓名不能为空!",vblnformation,M系统登陆提示"Textl(0).SetFocusExitSubEndIfIfText1(2)=,,nThenMsgBox”操作员ID不能为空!n,vblnformation,"系统登陆提示"Textl(l).SetFocusExitSubEndIfSql="select*fromoperaterwhere姓名=""&Textl(0).Text&AND操作员ID=,n&Textl(2).Text&"…Setrs=Exesql(Sql)Ifrs.EOF=TrueThenMsgBox"没有这个操作员!!nText1(0)=•…Text1(2)=•…Textl(0).SetFocusExitSubEndIfIfMsgBox("是否删除操作员【"&Textl(O)&"】,编号为【"&Text1(2)&"】",1+32)=1Thenrs.Deleters.Updaters.RequeryEndIfMsgBoxf删除成功")CallGXTextl(0)=,H,Textl(l)="” Textl(2)=,H,Text1(0).SetFocusEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()Me.Top=(Mainform.Height-Me.Height)/2-800Me.Left=(Mainfonn.Width-Me.Width)/2Me.Caption=n仓库管理系统一"&"操作员设置”CallcsfEndSubPrivateSubTextl_GotFocus(indexAsInteger)IfTextl(index).TabStop=TrueThenText1(index).BackColor=&HC0FFFFText1(index).SelStart=0Text1(index).SelLength=12EndIfEndSubPrivateSubTextl_LostFocus(indexAsInteger)Textl(index).BackColor=&HFFC0C0EndSubPrivateSubcsf()Li$t.TextMatrix(O,0)=’•操作员ID”List.TextMatrix(O,1)=”姓名”List.TextMatrix(O,2)="密码"List.ColWidth(O)=1200List.ColWidth(l)=1200Li$t.ColWidth(2)=1200EndSubPrivateSubGX()Sql="Select*fromoperaterorderby编号descnSetrs=Exesql(Sql)DimrowwAsIntegerroww=1List.Clear List.Rows=1Callcsfrs.Updaters.Requeryrs.MoveFirstDoWhilers.EOF=FalseList.Rows=List.Rows+1List.TextMatrix(roww,0)=rs.Fields(2)List.TextMatrix(rovw,1)=rs.Fields(O)List.TextMatrix(roww,2)="***"roww=roww+1rs.MoveNextLoopEndSub(2)密码修改密码修改界面设计视图如图4.12所示。图4.12修改密码代码如下:PrivateSubCmdOK_Click()DimSqlAsStringIfTrim(Text1(1))<>Trim(Textl(2))ThenMsgBox"新密码和确认密码不相同”Textl(l)=•…Text1(2)=•…Textl(l).SetFocusElseSql="select*fromoperaterwhere姓名二",&Username&’Setrs=Exesql(Sql)Ifrs.Fields(l)<>Trim(Text1(0).Text)ThenMsgBox”旧密码有误’’,vbOKOnly+vbExclamationExitSubElsers.Fields(l)=Trim(Textl(l).Text)rs.Updaters.RequeryMsgBox”密码修改成功”,vbOKOnly+ vblnformationEndIfEndIfrs.CloseEndSubPrivateSubcmdRet_Click()UnloadChangePasswordEndSubPrivateSubForm_Load()Me.Top=(Mainform.Height-Me.Height)/2-1500Me.Left=(Mainform.Width-Me.Width)/2Me.Caption=n众库管理系统一"&’’个人密码设置"EndSubPrivateSubTextl_Change(indexAsInteger)IfTrim(Textl(0))=•"•OrTrim(Textl(l))=OrTrim(Textl(2))=""ThenCmdOk.Enabled=FalseElseCmdOk.Enabled=TrueEndIfEndSubPrivateSubTextl_GotFocus(indexAsInteger)Textl(index).Text=""Text1(index).BackColor=&HC0FFFFText1(index).SelStart=0Text1(index).SelLength=12EndSubPrivateSubTextl_LostFocus(indexAsInteger)Text1(index).BackColor=&HFFC0C0EndSub 结束语经过一学期的努力最终完成了“仓库管理系统”的设计与实现。期间我学到了很多,查资料,写代码,我对软件开发有了新的认识。仓库管理系统就是让人从繁琐的工作中解脱出来,让企业的仓库管理更加科学化。“仓库管理系统”的开发也是一系列先进信息技术的乂一实践。随着计算机水平的越来越来越高,企业也7T•始向信息化转变,所以仓库管理也要跟的上企业的步伐,要信息化,科学化,这正是木系统的实际意义。由于木人水平和经验有限,对软件的开发还缺乏好多知识,对系统的研究也存在很多不足之处。但更重要的是收获,除了对软件项目中的沟通机制和问题管理有了比较深刻地认识外,对先进信息技术的了解、应用程度也有了一定的提高。通过对这个课题的研究,将激励着我沿着探求以软件系统支持企业管理的方向继续走下去。 参考文献[1]刘韬.VisualBasic6.0数据库系统开发实例导航[M].北京:人民邮电出版社,2002.2[2]毕超,何丽艳,冯雪,胡海脾.Access课程设计案例精编[M].北京:中国水利水电出版社,2006.2[3]黄明,梁旭,石兴民.VisualBasic课程设计[M].北京:电子工业出版社,2006.3[4]龚沛曾,陆慰民,杨志强.VisualBasic程序设计教程[M].北京:高等教育出版社,2006.6[5]谭浩强,苏颖,张跃华.VisualBasic数据库开发应用技术[M].北京:中国铁道出版社,2006.5[6]张基温,姚晓玲,孙波.VisualBasic程序开发教程[M].北京:清华大学出版社,2004[7]黄梯云.管理信息系统[M].北京:高等教育出版社,2002.12,36-62[8]李东.管理信息系统的理论与应用[M].北京:北京大学山版社,2002.3,28-37[9]赵俊岚.VisualBasic6.0循序渐进教程[M].北京:红旗出版社,2005.2,26-48[10]崔武子.界面设计与VisualBasic[M].北京:清华大学出版社,2004.8,57-71[11]黄明.VisualBasic课程设计[M].北京:电子工业岀版社,2006.6,163-186[12]刘新民.VisualBasic程序设计教程[M].北京:清华大学出版社,2004.3,38-62[13]麻新旗.VisualBasic大学基础教程[M].北京:电子工业山版社,2005.12,18-34[14]武新华.VisualBasic管理信息系统开发案例[M].两安:两安电子科技大学出版社,2004.7,24-39[15]明日科技.VisualBasic应用开发完全手册[M].北京:人民邮电出版社,2006.12,28-34[16]陈联斌.SQLSerVer2000实用教程[M].北京:电子工业出版社,2005.2,54_76[17]陆永祯.SQLSerVer2000数据库管理和程序开发[M].北京:中国铁道山版社,2005.1,38-69[18]刘於勛.VisualBasic程序设计[M].北京:北京理工大学山版社,2006.8,18-30 致谢随着夏天的到来,我的大学生活也即将结束,我也要离开校园步入社会。回首过去四年的大学生活,真是有苦也有乐。在老师的辛勤教导下我们不断丰富自己的知识,学习新的技能,四年我们真的收获很多。在毕业设计中,我非常感谢王老师的谆谆教导和所有老师的辛勤培育。王萌老师丰富的软件设计经验以及对我认真耐心的指导,使我克服了在毕业设计中遇到的许多网难,顺利完成毕业设计。感谢同学、朋友给予的大力支持和帮助,感谢各位答辩小组的老师们对我的指导。我相信,这次毕业设计会给我四年的大学生活画上一个圆满的句号。最后,祝每一位老师工作顺利,生活幸福,并致以真诚的敬意。