管理信息系统设计实训项目实例第1页共39页《管理信息系统设计》实训项目――部门经费管理系统部门经费管理系统是基于部门预算情况下一个单位内科室经费使用的管理软件,主要用于科室中各个项目的账目处理、管理等工作,是一套操作简便、功能完善的小型软件。一、系统简介1、账目管理轻松便捷部门预算实行之后,许多项目如何在一年内合理使用是部门主管的一项主要工作,之前采用手工记账的方式既不方便工作量又大,并且不利于费用使用的分析,采用计算机软件管理是解决这个问题的最佳途径。本软件就是根据工作中的实际需要开发的小型系统。2、操作简单方便本软件在开发过程中得到了会计人员的大力帮助,在操作方面尽最大可能按照常规工作思路来设计软件的操作流程,界面说明简单明了,功能方面颇具人性化,比如一些常规科目的处理只需要在空白处双击鼠标即可。3、系统平台要求系统在windows98以上操作系统均可以使用。同时具有两种版本的系统,既可以安装成单机版本也可以安装成网络版本。二、系统安装2.1、网络版本系统安装客户端:进入安装目录直接运行setup即可,要求环境:windows98/xp/2000。服务器端:1、安装MicrosoftSQLserver并运行企业管理器2、进入控制台子项数据库3、在“数据库”选项上点击鼠标右键,选择“所有任务”--“还原数据库”输入数据库名称为“jfgl”---选择“从设备”---选择子目录“电教管理2000”中的jfglbf文件即可4、在“安全性”选项中设置新的登录用户“lgq”,密码为空。管理信息系统设计实训项目实例第2页共39页2.2、单机版本系统安装客户端:进入安装目录直接运行setup即可,要求环境:windows98/xp/2000。数据库设置:单机版本需要设置odbc,具体如下:1、进入控制面版,打开数据源odbc窗口2、选择“添加”进入以下界面:管理信息系统设计实训项目实例第3页共39页3、选择“MicrosoftAccessDriver(*.mdb)进入以下界面:4、输入数据源名称“JFGL”,选择“选择”按钮进入下一界面:5、选择数据库“xxjfdata.mdb”,点击“确定”即可。三、系统功能说明3.1、登录界面管理信息系统设计实训项目实例第4页共39页输入合法的用户名称、口令即可进入主界面,此处允许用户三次登录验证。3.2、主菜单界面主菜单界面包括项目维护、账目处理、账目查询、系统维护、帮助等5个部分。3.3、项目维护项目维护包括项目增加、项目删除、项目修改三个子菜单。3.3.1、项目增加该项功能可以增加部门项目的内容,每个项目包括项目代码、项目名称、费用、部门名称三个方面,增加过程中不能为空。管理信息系统设计实训项目实例第5页共39页3.3.2、项目删除:通过此项功能可以删除掉未使用项目的内容,项目一旦启用,就不能删除。3.3.3、项目修改通过此项功能可以修改项目代码、项目名称、项目费用等内容3.4、账目处理账目处理包括报账、销账和账目更改三个子菜单。3.4.1、报账该项功能是本软件的核心部分,通过这项功能可以处理日常发生的每一笔账目,同时在总项目中对发生的费用进行扣除,具体界面如下:管理信息系统设计实训项目实例第6页共39页操作要领:单击编号文本框会自动产生编号,单击报账日期会自动将当前系统日期填入文本框,账目摘要中可以填入内容,也可以通过双击鼠标弹出常用科目窗口选择常用科目,通过“项目部门选择”按钮选择隶属项目和部门,通过组合框选择经手人。点击“报销确认”即可弹出以下界面。在此界面中扣除所报账目在总项目中的费用3.4.2、销账通过该项功能可以消除错报或不需要的账目。可报账功能相反。管理信息系统设计实训项目实例第7页共39页选中要消除的账目,点击销账确认即可,弹出总帐处理对话框,在总帐中消除掉已报的账目费用。3.4.3、账目更正通过此项可以更正错报的账目,注意只能更正部分内容。3.5、账目查询账目查询可以提供总帐查询、明细查询。3.5.1、总帐查询总帐查询分为“按总帐查询”和“按部门查询”,采用标签形式处理,具体如下:管理信息系统设计实训项目实例第8页共39页3.5.2、明细查询:明细查询分为“部门查询”、“日期查询”、“经手人查询”具体如下:管理信息系统设计实训项目实例第9页共39页3.6、系统维护系统维护由用户设置、辅助数据、初始化三个部分组成3.6.1、用户设置用户设置可以对本系统的用户名称、口令、权限作相应的设置。管理信息系统设计实训项目实例第10页共39页3.6.2、辅助数据辅助数据设置包括部门设置、工作人员设置、常规科目设置三个部分管理信息系统设计实训项目实例第11页共39页3.6.3、初始化初始化将对项目数据库和明细帐数据库起到清空的作用。管理信息系统设计实训项目实例第12页共39页四、源代码程序设计4.1、登录界面PrivateSubCommand1_Click()DimyhAsStringDimmmaAsStringAdodc1.RefreshAdodc1.Recordset.MoveFirstDoWhileAdodc1.Recordset.EOF=Falseyh=Adodc1.Recordset.Fields(yhm)mma=Adodc1.Recordset.Fields(mima)Ifyh=UCase$(Trim(Text1.Text))Andmma=UCase$(Trim(Text2.Text))Thenmainmenu.ShowUnloadMeExitSubEndIfAdodc1.Recordset.MoveNextLoopMsgBox用户名或口令错误,请重新输入!,vbOKCancel,信息提示Text1.Text=Text2.Text=Text1.SetFocusEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()EndSub管理信息系统设计实训项目实例第13页共39页PrivateSubText1_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenText2.SetFocusEndIfEndSubPrivateSubText2_KeyPress(KeyAsciiAsInteger)IfKeyAscii=13ThenCommand1.SetFocusEndIfEndSub4.2、主菜单界面主菜单界面包括项目维护、账目处理、账目查询、系统维护、帮助等5个部分。PrivateSubbz_Click()bzcl.ShowvbModalEndSubPrivateSubForm_Load()Iffm.Adodc1.Recordset.Fields(xmwh)=TrueThenmenu1.Enabled=TrueElsemenu1.Enabled=False管理信息系统设计实训项目实例第14页共39页EndIfIffm.Adodc1.Recordset.Fields(zmcl)=TrueThenmenu2.Enabled=TrueElsemenu2.Enabled=FalseEndIfIffm.Adodc1.Recordset.Fields(zmcx)=TrueThenmenu3.Enabled=TrueElsemenu3.Enabled=FalseEndIfIffm.Adodc1.Recordset.Fields(xtwh)=TrueThenmenu4.Enabled=TrueElsemenu4.Enabled=FalseEndIfEndSubPrivateSubfzsj_Click()fzsjb.ShowvbModalEndSubPrivateSubmenu13_Click()zmgz.ShowvbModalEndSubPrivateSubmenu43_Click()csh.ShowvbModalEndSubPrivateSubmxcxx_Click()mxzcx.ShowvbModalEndSubPrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)SelectCaseButton.IndexCase1xmzjf.ShowvbModalCase2管理信息系统设计实训项目实例第15页共39页xmscf.ShowvbModalCase3xmxgf.ShowvbModalCase4bzcl.ShowvbModalCase5xzcl.ShowvbModalCase6xmcx.ShowvbModalCase7mxzcx.ShowvbModalCase8setuser.ShowvbModalCase9fzsjb.ShowvbModalEndSelectEndSubPrivateSubxmsc_Click()xmscf.ShowvbModalEndSubPrivateSubxmxg_Click()xmxgf.ShowvbModalEndSubPrivateSubxmzj_Click()xmzjf.ShowvbModalEndSubPrivateSubxz_Click()xzcl.ShowvbModalEndSubPrivateSubyhsz_Click()setuser.ShowvbModalEndSubPrivateSubzzcx_Click()xmcx.ShowvbModalEndSub管理信息系统设计实训项目实例第16页共39页4.3、项目维护项目维护包括项目增加、项目删除、项目修改三个子菜单。4.3.1、项目增加PrivateSubCommand1_Click()IfTrim(Text1.Text)=OrTrim(Text2.Text)=OrTrim(Text3.Text)=ThenMsgBox数据项不能为空,请输入完整数据,vbOKCancel,信息提示ExitSubEndIfIfAdodc1.Recordset.RecordCount0ThenAdodc1.Recordset.MoveFirstDoWhileAdodc1.Recordset.EOF=FalseIfTrim(Text1.Text)=Trim(Adodc1.Recordset.Fields(xmdm))ThenMsgBox项目代码重复,不能添加,vbOKCancel,信息提示ExitSubElseAdodc1.Recordset.MoveNextEndIfLoopAdodc1.Recordset.AddNewAdodc1.Recordset.Fields(xmdm)=Trim(Text1.Text)Adodc1.Recordset.Fields(xmnr)=Trim(Text2.Text)Adodc1.Recordset.Fields(xmfy)=Trim(Text3.Text)Adodc1.Recordset.Fields(yyfy)=Val(0)Adodc1.Recordset.Fields(xmye)=Adodc1.Recordset.Fields(xmfy)-Adodc1.Recordset.Fields(yyfy)Adodc1.Recordset.Fields(bmmc)=Trim(DataCombo1.Text)Adodc1.Recordset.Update管理信息系统设计实训项目实例第17页共39页DataGrid1.RefreshElseAdodc1.Recordset.AddNewAdodc1.Recordset.Fields(xmdm)=Trim(Text1.Text)Adodc1.Recordset.Fields(xmnr)=Trim(Text2.Text)Adodc1.Recordset.Fields(xmfy)=Trim(Text3.Text)Adodc1.Recordset.Fields(yyfy)=Val(0)Adodc1.Recordset.Fields(xmye)=Adodc1.Reco