• 504.00 KB
  • 2022-04-22 13:33:11 发布

财务管理系统毕业论文.doc

  • 51页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'财务管理系统设计毕业论文目录第一章绪论21.1课题简介21.2开发的意义2第二章开发环境及实现技术32.1开发环境32.2开发工具简介3第三章系统设计53.1概要设计53.1.1概要设计阶段的主要任务53.1.2概要设计的过程53.1.3概要设计的原则53.1.4系统功能分析53.2详细设计63.2.1详细设计的任务63.2.2详细设计的方法7第四章数据库设计94.1数据库Access简介94.2数据库需求分析104.3表的详细结构说明114.4测试用例14第五章详细设计165.1系统登录模块的设计与实现165.2主界面的设计与实现205.3工资管理设计与实现225.4固定资产管理的设计与实现275.5流动资产管理的设计与实现315.6用户管理的设计与实现32第六章系统使用说明446.1使用说明44 6.2运行环境44结束语52致谢52参考文献53 第一章绪论1.1课题简介财务管理系统是每一个单位管理财务收入和支出的不可缺少的一个管理信息系统,它的内容对企业财务计划,财务控制,财务监督,财务运用等方面都起着巨大的作用。如何发挥财务管理的作用关系到一个企业的命脉。    财务管理的工作对象是资金运动,只要有资金运动就离不开财务管理。  一个企业的生产经营活动无外乎供、产、销三个环节,这个过程始终贯穿着资金运动,只是在各个环节上资金的表现形态不同罢了。在供应阶段资金由货币形态转变为材料形态,生产阶段由材料形态变为产品形态,在销售阶段由产品形态又回到货币形态。从这里可以看出,财务管理贯穿于企业的各项工作之中,财务工作与其它管理工作是密不可分的。〖BP)〗从企业目前的实际工作来看,普遍存在两个误区:一种认为财务管理就是管钱,只要管住钱就可万事大吉,重资金,轻核算。上面谈到,资金在生产经营过程中分别有着不同的表现形式,“钱”只是这个过程的起点和终点,大量的管理工作都蕴含在过程之中。因此,只有加强内部核算,才能真正做到节支降耗,否则,“钱”是管不住的。另一种认为财务管理就是管财务部门,把财务部门与其他管理部门割裂开来,财务管理的触角不能延伸到各项管理工作之中。财务管理就成为无本之木,其作用得不到发挥,形成经营和生产“两张皮”。因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学员来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。1.2开发的意义计算机已经成为我们学习和工作的得力助手,使用其可方便的管理企事业财务今天,计算机 正在各行各业发挥着巨大的作用,它以其快速准确性弥补人类的先天不足,能够让计算机参与人们日常的财务管理事业,是一种时代发展的必然要求,也是一个社会国家进步的体现。况且现在建行已经建起了个人网上银行,本系统为个人理财系统的到来做了先期工作,比如计算机的财务管理模式的建立。 第二章开发环境及实现技术2.1开发环境硬件系统硬件平台CPUIntelP41.5G主板Intel850芯片组的GA-8TX-C内存2×128M的三星Rambus内存硬盘SeagateBarracuda7200.780G显卡Unika小妖G9800显示器美格770PF,17寸纯平显示器软件环境操作系统MicrosoftWindowsXP简体中文专业版+SP1办公软件MicrosoftOffice2003显卡驱动nVIDIAForceWare驱动56.72版ForWin2000/XP软件系统:Visualbasic6.0中文版、Access数据库。2.2开发工具简介VisualBasic6.0的特点VisualBasic6.0是Micrsoft公司出品的开发工具,VisualBasic是一种可视化的,面向对象的Windows开发语言,它具有易用,通用和开发效率高的特点。随着微软对它不断地改进以及计算机本身性能的提高,使得VisualBasic越来越适合一般的应用程序开发。正如BillGate所说,世界上绝大多数的Windows应用程序是用VisualBasic编写的。在众多的开发工具中,我们为什么要选择VisualBasic6.0呢?因为VB具有众多其它开发工具所没有的优点!具体介绍如下:u开发的高效u语言的高效u编译的高效u执行的高效u维护的高效 基于以上理由,我们毫不忧郁的选择了VB6.0做为我们的开发工具!!微软公司的Visualbasic6.0连接数据库的主要方式以下几种方式:一是:用data控件进行数据库链接,二是利用adodc(ADODataControl)进行数据库链接。三是:利用DataEnvironment进行数据库链接.四是利用ADO(ActiveXDataObjects)进行编程三种数据库访问对象,是Microsoft数据库访问技术的一个主要发展方向,ADO将OLEDB封装在一个数据对象中,使得VB程序中以方便地实现对数据库的访问。 第三章系统设计3.1概要设计3.1.1概要设计阶段的主要任务①系统分析员审理客户的需求状况并依据用户需求撰写需求分析报告以及软件描述工具。选择分解功能与划分模块的设计原则,例如模块划分独立性原则,信息隐蔽原则等。3.1.2概要设计的过程在概要设计阶段应着重解决实现需求分析的程序模块设计问题。这包括考虑如何把被开发的软件系统划分成若干个模块,并决定各模块的接口,即模块间的相互关系,以及模块之间的传递的信息。1.管理员选项模块(增加管理员,修改管理员密码,注销管理员,退出系统)2.工资管理模块(增加考勤记录,修改考勤记录,查询考勤记录,计算工资,增加工资记录,查询工资记录,修改工资记录,删除工资记录)3.固定资产模块(增加固定资产记录,修改固定资产记录,查询固定资产记录,删除固定资产记录)4.流动资产模块(增加报销记录,查询报销记录,导出报销记录)主界面管理员选项工资管理固定资产管理禁用快捷键流动资产管理登录根据以上分析,该系统考虑将整个系统分解成如图3-1模块结构图: 3.1.3概要设计的原则并且在系统的开发过程中,我尽量注意模块的高内聚、低耦合,使得系统的整体性能提高,并且也有利于投入使用后的系统维护。3.1.4系统功能分析本财务管理系统主要针对企事业单位的财务管理提供方便。1管理员模块功能:提供对管理员的密码,权限,增删设置。2固定资产模块管理:提供对固定资产记录的增删管理。3流动资产管理:提供对流动资产,报销管理。3.2详细设计3.2.1详细设计的任务详细设计必须是无歧义地描述过程地细节,详细设计主要决定每个模块内部的具体算法。3.2.2详细设计的方法修改已建的数据库数据库的修改分为:添加、编辑和删除记录。这三种操作均可由VisualBasic创建的程序来完成,下面的章节将详细描述实现的具体方法。实现数据库之间的联系 数据库之间的关系指明两个库之间共享一个共同的关键字值。一个连接是指一种虚拟的表,这种表是在当用户要求从相互关联的各个不同的表中获取信息时建立的,关键字段用于在相互连接的不同表中查找匹配的记录。一个更高级的连接形式称为自连接。这种连接是指一个表被连接到它自己的一个字段,或在不同的纪录中由重复数据的组合字段。数据库中有三种不同类型的关键字:主关键字、组合关键字和外关键字。在表中使用的关键字类型用于描述库表示什么以及在数据库中如何与其它的库建立关系。第四章数据库的设计4.1数据库Access简介使用 Microsoft Access,可以在单一的数据库文件中管理所有的信息。在这个文件中,用户可以将自己的数据分别保存在各自独立的存储空间中,这些空间称作表;可以使用联机窗体来查看、添加及更新表中的数据;使用查询来查找并检索所要的数据;也可以使用报表以特定的版面布置来分析及打印数据。如果要保存数据,请为每一种类型的信息创建一个表。如果要从查询、窗体或报表中的多个表中将数据合并在一起,就要定义各个表之间的关系。如果要搜索并检索符合指定条件的数据,包括来自多个表中的数据,就要创建查询。查询的同时也可以更新或删除多条记录,并对数据执行内嵌或自定义的计算。如果要简单地直接在某个表中查看、输入及更改数据,请创建一个窗体。在打开一个窗体时,Microsoft Access 将从一个或多个表中检索数据,并使用用户在“窗体向导”选择的版面布局或所创建的版面布局,将窗体显示在屏幕上。如果要分析数据或将数据以特定的方式打印出来,请创建一个报表。例如,可以打印一份将数据分组并计算数据总和的报表,也可以打印另一份带有各种数据格式的打印邮件标签的报表。 4.2数据库需求分析本系统使用的是ODBC数据源,使用程序前,在【控制面板】-【管理工具】-【数据源(ODBC)】中添加本程序目录下的finance.mdb文件作为MicrosoftAccess数据源,用户数据源名称必须命名为:Finance4.3表的详细结构说明员工职务表的详细信息: 员工工资结算表的详细结构说明:固定资产管理项目表的详细结构为: 报销类型表的详细结构为: 管理员登陆表的详细结构为: 员工工作状态表 员工工作状态表详细设计: 4.4测试用例 YN开始输入登录密码是否正确主界面第五章详细设计5.1系统登录模块的设计与实现登陆界面: 登陆界面源代码分析:PrivateSubCommand1_Click()DimsqlAsStringDimrsAsNewADODB.RecordsetIfUser.Text=""Then"保证用户名和密码都填写MsgBox"用户名不能为空!",vbCriticalUser.SetFocusExitSubEndIfIfPass.Text=""ThenMsgBox"密码不能为空!",vbCriticalPass.SetFocusExitSubEndIfIfDbHandle.DbConnectionThensql="TBL_ADMIN""用SQL语句判断是否是合法管理员 rs.CursorType=adOpenDynamicrs.LockType=adLockOptimisticrs.Filter="ADMIN_ID=""&User.Text&""ANDADMIN_PASSWORD=""&Pass.Text&"""rs.Opensql,DbFinanceIfDbHandle.resultcount(rs)<>1Then"不存在管理员记录提示错误信息并且退出系统MsgBox"用户名或密码错误!",vbExclamationrs.CloseSetrs=NothingDbHandle.DbCloseEndEndIfDbHandle.DbCloseMainForm.Show"登陆成功显示主窗体UnloadMeElseMsgBox"数据库错误!",vbExclamation DbHandle.DbCloseEndEndIfEndSub主界面界面包括的控件有标签、文本框、命令按控件的属性设置界面: 主界面源代码分析:OptionExplicitPrivateSubAdminOption_Click()sb1.Panels(1).Text="管理员选项""鼠标在"管理员选项"菜单使状态条的提示文字显示EndSubPrivateSubCheck1_Click()IfCheck1.ValueThen"启用或者禁止快捷按钮所在的FrameFrame1.Enabled=FalseFrame2.Enabled=FalseFrame3.Enabled=FalseFrame4.Enabled=FalseElseFrame1.Enabled=TrueFrame2.Enabled=TrueFrame3.Enabled=True Frame4.Enabled=TrueEndIfEndSubPrivateSubCommand1_Click()AddAdmin.Show1"显示增加管理员窗体EndSubPrivateSubCommand10_Click()FixPay.Show1"显示增加修改月工资窗体EndSubPrivateSubCommand11_Click()DelPay.Show1"显示删除月工资窗体EndSubPrivateSubCommand12_Click() QueryPay.Show1"显示查询月工资窗体EndSubPrivateSubCommand13_Click()AddFixed.Show1"显示增加固定资产窗体EndSubPrivateSubCommand14_Click()fixFixed.Show1"显示修改固定资产窗体EndSubPrivateSubCommand15_Click()QueryFixed.Show1"显示查询固定资产窗体EndSubPrivateSubCommand16_Click()DelFixed.Show1"显示删除固定资产窗体 EndSubPrivateSubCommand17_Click()AddCur.Show1"显示增加报销记录窗体EndSubPrivateSubCommand18_Click()QueryCur.Show1"显示查询报销记录窗体EndSubPrivateSubCommand19_Click()ExportCur.Show1"显示导出报销记录窗体EndSubPrivateSubCommand2_Click()AdminPass.Show1"显示修改管理员密码窗体EndSub PrivateSubCommand3_Click()Me.HideAdminLogin.User.Text="""登录窗体信息清空AdminLogin.Pass.Text=""AdminLogin.Show"显示注销(登录)窗体EndSubPrivateSubCommand4_Click()End"退出管理系统EndSubPrivateSubCommand5_Click()WorkEvent.Show1"显示添加考勤记录窗体EndSubPrivateSubCommand6_Click() ChangeEvent.Show1"显示修改考勤记录窗体EndSubPrivateSubCommand7_Click()QueryEvent.Show1"显示查询考勤记录窗体EndSubPrivateSubCommand8_Click()CalcPay.Show1"显示计算工资窗体EndSubPrivateSubCommand9_Click()AddPay.Show1"显示增加月工资记录窗体EndSubPrivateSubCurAsset_Click()sb1.Panels(1).Text="流动资产管理""鼠标在"流动资产管理"菜单使状态条的提示文字显示 EndSubPrivateSubFixedAsset_Click()sb1.Panels(1).Text="固定资产管理""显示增加管理员窗体EndSubPrivateSubForm_Load()Me.Left=(Screen.Width-Me.ScaleWidth)/2"初始化窗体居中显示Me.Top=(Screen.Height-Me.ScaleHeight)/2Me.Height=8010Me.Width=9945EndSubPrivateSubForm_Unload(CancelAsInteger)OnErrorResumeNext"当主窗体关闭时关闭数据库连接DbHandle.DbCloseEnd EndSubPrivateSubmenu_AddAdmin_Click()AddAdmin.Show1"显示增加管理员窗体EndSubPrivateSubmenu_AddCur_Click()AddCur.Show1"显示增加报销记录窗体EndSubPrivateSubmenu_AddEvent_Click()WorkEvent.Show1"显示增加考勤记录窗体EndSubPrivateSubmenu_AddFixed_Click()AddFixed.Show1"显示修改考勤记录窗体EndSub PrivateSubmenu_AddPay_Click()AddPay.Show1"显示增加月工资窗体EndSubPrivateSubmenu_AdminPass_Click()AdminPass.Show1"显示修改管理员密码窗体EndSubPrivateSubmenu_CalcPay_Click()CalcPay.Show1"显示计算工资窗体EndSubPrivateSubmenu_ChangeEvent_Click()ChangeEvent.Show1"显示修改考勤记录窗体EndSub PrivateSubmenu_ChangeFixed_Click()fixFixed.Show1"显示修改固定资产窗体EndSubPrivateSubmenu_ChangePay_Click()FixPay.Show1"显示修改月工资窗体EndSubPrivateSubmenu_DelFixed_Click()DelFixed.Show1"显示删除固定资产窗体EndSubPrivateSubmenu_DelPay_Click()DelPay.Show1"显示删除月工资窗体EndSubPrivateSubmenu_Exit_Click() End"退出管理系统EndSubPrivateSubmenu_ExportCur_Click()ExportCur.Show1"显示导出报销记录窗体EndSubPrivateSubmenu_Logout_Click()Me.HideAdminLogin.User.Text="""登录窗体信息清空AdminLogin.Pass.Text=""AdminLogin.Show"显示注销(登录)窗体EndSubPrivateSubmenu_MonthBln_Click()MonthBln.Show1"显示月底结算窗体EndSub PrivateSubmenu_QueryCur_Click()QueryCur.Show1"显示查询报销记录窗体EndSubPrivateSubmenu_QueryEvent_Click()QueryEvent.Show1"显示查询考勤记录窗体EndSubPrivateSubmenu_QueryFixed_Click()QueryFixed.Show1"显示查询固定资产窗体EndSubPrivateSubmenu_QueryPay_Click()QueryPay.Show1"显示查询月工资窗体EndSub PrivateSubPayMan_Click()sb1.Panels(1).Text="工资管理""鼠标在"工资管理"菜单使状态条的提示文字显示EndSub5.3工资管理的设计与实现工资管理界面:工资计算代码:PrivateSubCommand1_Click()DimiAsLongDimUSER_IDAsStringDimUSER_NAMEAsStringDimUSER_PARTAsStringDimUSER_ROLEAsStringDimMONEYAsStringCommDlg.Flags=cdlOFNOverwritePrompt"设置保存对话框有覆盖提示CommDlg.Filter="文本文件|*.txt""设置保存对话框的显示文件类型CommDlg.ShowSave"显示保存对话框IfCommDlg.FileName<>""Then"如果用户点确定按钮就写导出文件OpenCommDlg.FileNameForOutputAs#1 Print#1,"员工ID号";Tab;"员工姓名";Tab;"所属部门";Tab;"职位名称";Tab;"本月工资"Fori=1ToMSFlexGrid1.Rows-1"从MSFlexGrid1中循环把记录信息写进文件中MSFlexGrid1.Row=iMSFlexGrid1.Col=0USER_ID=MSFlexGrid1.TextMSFlexGrid1.Row=iMSFlexGrid1.Col=1USER_NAME=MSFlexGrid1.TextMSFlexGrid1.Row=iMSFlexGrid1.Col=2USER_PART=MSFlexGrid1.TextMSFlexGrid1.Row=iMSFlexGrid1.Col=3USER_ROLE=MSFlexGrid1.TextMSFlexGrid1.Row=iMSFlexGrid1.Col=4MONEY=MSFlexGrid1.TextPrint#1,USER_ID;Tab;USER_NAME;Tab;USER_PART;Tab;USER_ROLE;Tab;MONEYNextiClose#1"关闭文件EndIfEndSubPrivateSubCommand2_Click()UnloadMe"返回主窗体EndSubPrivateSubForm_Load()DimsqlAsStringDimrsAsNewADODB.RecordsetDimworkAsNewADODB.Recordset"考勤记录结果集DimiAsInteger"循环变量DimuseridAsStringDimMONEYAsLongDimtempAsLong"考勤影响到的工资DimresultcountAsLong"返回记录数Me.Left=(Screen.Width-Me.ScaleWidth)/2"窗体居中显示 Me.Top=(Screen.Height-Me.ScaleHeight)/2IfDbHandle.DbConnectionThen"选定用户表中所有记录以及关联的角色和部门记录sql="SELECTUSER_ID,USER_NAME,PART_NAME,ROLE_NAME,ROLE_MONEYFROMTBL_USER,TBL_ROLE,TBL_PARTWHEREUSER_PART=PART_IDANDUSER_ROLE=ROLE_ID"rs.CursorType=adOpenDynamicrs.LockType=adLockOptimisticrs.Opensql,DbFinanceresultcount=DbHandle.resultcount(rs)Cls"设置电子表格的列头MSFlexGrid1.Cols=5MSFlexGrid1.Rows=resultcount+1MSFlexGrid1.Row=0MSFlexGrid1.Col=0MSFlexGrid1.Text="员工ID号"MSFlexGrid1.Col=1MSFlexGrid1.Text="员工姓名"MSFlexGrid1.Col=2MSFlexGrid1.Text="所属部门"MSFlexGrid1.Col=3MSFlexGrid1.Text="职位名称"MSFlexGrid1.Col=4MSFlexGrid1.Text="本月工资"Fori=0To4MSFlexGrid1.ColWidth(i)=MSFlexGrid1.Width/5-5"平均分配每个列的宽NextiFori=1Toresultcount"循环将职工信息和基本工资放入电子表格userid=rs("USER_ID")MSFlexGrid1.Row=iMSFlexGrid1.Col=0MSFlexGrid1.Text=useridMSFlexGrid1.Col=1MSFlexGrid1.Text=rs("USER_NAME")MSFlexGrid1.Col=2MSFlexGrid1.Text=rs("PART_NAME")MSFlexGrid1.Col=3MSFlexGrid1.Text=rs("ROLE_NAME") MONEY=rs("ROLE_MONEY")MSFlexGrid1.Col=4MSFlexGrid1.Text=Str(MONEY)rs.MoveNextNextirs.CloseSetrs=NothingFori=1Toresultcount"通过考勤表计算考勤信息影响的工资MSFlexGrid1.Row=iMSFlexGrid1.Col=0userid=MSFlexGrid1.TextMSFlexGrid1.Col=4MONEY=Val(MSFlexGrid1.Text)sql="SELECTWORK_TIME,TYPE_MARK,TYPE_IDFROMTBL_WORK,TBL_TYPEWHEREWORK_TYPE=TYPE_IDANDWORK_ID=""&userid&"""work.CursorType=adOpenDynamicwork.LockType=adLockOptimisticwork.Opensql,DbFinance"选取每一行职工ID的本月考勤信息DoWhilework.EOF=FalseSelectCasework("TYPE_ID")"通过考勤类别计算考勤时间和工资关系Case1temp=work("WORK_TIME")*1Case2temp=work("WORK_TIME")*2Case3temp=work("WORK_TIME")*10Case4temp=work("WORK_TIME")*20EndSelectIfwork("TYPE_MARK")Then"当考勤类别是加班出差等要向基本工资中加工资MONEY=MONEY+tempElseMONEY=MONEY-temp"当考勤类别是迟到早退等要向基本工资中减工资EndIfwork.MoveNextLoopMSFlexGrid1.Text=Str(MONEY)"重新设置每个人的月工资work.Close NextiDbHandle.DbCloseElse"打开数据库失败错误退出MsgBox"数据库错误!",vbExclamationDbHandle.DbCloseEndEndIfEndSub5.4固定资产管理的设计与实现添加固定资产代码:PrivateSubCommand1_Click()DimsqlAsStringDimrsAsNewADODB.RecordsetIfText1.Text=""Then"判断资产编号输入框不为空MsgBox"资产编号不能为空!",vbCriticalText1.SetFocus ExitSubEndIfIfText2.Text=""Then"判断资产名称输入框不为空MsgBox"资产名称不能为空!",vbCriticalText2.SetFocusExitSubEndIfIfText3.Text=""Then"判断资产数目输入框不为空MsgBox"资产数目不能为空!",vbCriticalText3.SetFocusExitSubEndIfIfText4.Text=""Then"判断资产单价输入框不为空MsgBox"资产单价不能为空!",vbCriticalText4.SetFocusExitSubEndIfIfText7.Text=""Then"判断经手人ID输入框不为空MsgBox"经手人ID不能为空!",vbCriticalText7.SetFocusExitSubEndIfIfText5.Text=""Then"判断联系电话输入框不为空MsgBox"联系电话不能为空!",vbCriticalText5.SetFocusExitSubEndIfIfText6.Text=""Then"判断资产说明输入框不为空MsgBox"资产说明不能为空!",vbCriticalText6.SetFocusExitSubEndIfIfNotIsNumeric(Text3.Text)Then"判断资产数目输入框必须是数字MsgBox"资产数目必须是数字!",vbCriticalText3.SetFocusExitSubEndIfIfNotIsNumeric(Text4.Text)Then"判断资产单价输入框是数字MsgBox"资产单价必须是数字!",vbCriticalText4.SetFocusExitSub EndIfIfPartCombo.ListIndex=-1Then"确保部门被选择MsgBox"部门必须选择!",vbCriticalPartCombo.SetFocusExitSubEndIfIfDbHandle.DbConnectionThen"打开数据库连接准备添加固定资产记录sql="TBL_FIXED""在固定资产表中搜索,判断是否已经存在和欲添加固定rs.CursorType=adOpenDynamic"资产具有相同编号的记录rs.LockType=adLockOptimisticrs.Filter="FIXED_ID=""&Text1.Text&"""rs.Opensql,DbFinanceIfDbHandle.resultcount(rs)=1Then"如果找到编号已经存在就提示错误信息,并且退出MsgBox"资产编号已经存在!",vbExclamationrs.CloseDbHandle.DbCloseExitSubEndIfrs.Closesql="TBL_USER""在职工表中判断输入的职工ID是否是有效IDrs.CursorType=adOpenDynamicrs.LockType=adLockOptimisticrs.Filter="USER_ID=""&Text7.Text&"""rs.Opensql,DbFinanceIfDbHandle.resultcount(rs)<>1Then"不存在输入的职工ID就提示错误信息退出MsgBox"错误,不存在的ID号!",vbExclamationText7.SetFocusrs.CloseSetrs=NothingDbHandle.DbCloseExitSubElse"职工ID是有效的,可以进行添加固定资产rs.Closesql="TBL_FIXED"rs.Filter="" rs.Opensql,DbFinancers.AddNewrs("FIXED_ID")=Text1.Text"固定资产编号rs("FIXED_NAME")=Text2.Text"固定资产名称rs("FIXED_NUM")=Val(Text3.Text)"固定资产数目rs("FIXED_MONEY")=Val(Text4.Text)"固定资产单价rs("FIXED_PART")=PartCombo.ItemData(PartCombo.ListIndex)"购买固定资产部门rs("FIXED_USER")=Text7.Text"经手人IDrs("FIXED_PHONE")=Text5.Text"经手人电话rs("FIXED_DATE")=DTPicker1.Value"购买时间rs("FIXED_REMARK")=Text6.Text"固定资产说明rs.Updaters.CloseEndIfDbHandle.DbCloseMsgBox"固定资产信息成功添加!"UnloadMeElse"打开数据库连接失败提示出错MsgBox"数据库错误!",vbExclamationDbHandle.DbCloseEndEndIfEndSubPrivateSubCommand2_Click()UnloadMe"取消并回主窗体EndSubPrivateSubForm_Load()DimsqlAsStringDimrsAsNewADODB.RecordsetMe.Left=(Screen.Width-Me.ScaleWidth)/2"窗体居中显示Me.Top=(Screen.Height-Me.ScaleHeight)/2IfDbHandle.DbConnectionThen"打开数据库连接,动态添加部门信息下拉列表sql="TBL_PART"rs.CursorType=adOpenDynamicrs.LockType=adLockOptimisticrs.Filter="" rs.Opensql,DbFinanceDoWhilers.EOF=FalsePartCombo.AddItem(rs("PART_NAME"))PartCombo.ItemData(PartCombo.NewIndex)=rs("PART_ID")rs.MoveNextLooprs.Close"完成下拉列表的动态添加,释放结果集资源,关闭数据库连接Setrs=NothingDbHandle.DbCloseElse"打开数据库连接失败提示出错MsgBox"数据库错误!",vbExclamationDbHandle.DbCloseEndEndIfText1.Text="""初始化窗体元素属性Text2.Text=""Text3.Text=""Text4.Text=""Text5.Text=""Text6.Text=""Text7.Text=""Text7.MaxLength=100PartCombo.Text=""EndSub5.5流动资产管理的设计与实现 添加报销记录代码:PrivateSubCommand1_Click()DimsqlAsStringDimrsAsNewADODB.RecordsetIfText1.Text=""Then"判断报销单编号输入框不为空MsgBox"报销单编号不能为空!",vbCriticalText1.SetFocusExitSubEndIfIfText2.Text=""Then"判断报销金额输入框不为空MsgBox"报销金额不能为空!",vbCriticalText2.SetFocusExitSubEndIfIfText3.Text=""Then"判断报销人ID输入框不为空MsgBox"报销人ID不能为空!",vbCriticalText3.SetFocusExitSubEndIfIfText4.Text=""Then"判断报销说明输入框不为空MsgBox"报销说明不能为空!",vbCritical Text4.SetFocusExitSubEndIfIfNotIsNumeric(Text2.Text)Then"判断资产数目必须是数字MsgBox"资产数目必须是数字!",vbCriticalText2.SetFocusExitSubEndIfIfCombo1.ListIndex=-1Then"判断报销类别下拉列表必须选择MsgBox"报销类别必须选择!",vbCriticalCombo1.SetFocusExitSubEndIfIfCombo2.ListIndex=-1Then"判断部门下拉列表必须选择MsgBox"部门必须选择!",vbCriticalCombo2.SetFocusExitSubEndIfIfDbHandle.DbConnectionThen"打开DSN数据库源连接sql="TBL_CUR""对流动资产表进行操作rs.CursorType=adOpenDynamicrs.LockType=adLockOptimisticrs.Filter="CUR_ID=""&Text1.Text&""""选择指定ID的记录rs.Opensql,DbFinanceIfDbHandle.resultcount(rs)=1Then"如果记录已经存在则提示对话框并且关闭数据库MsgBox"报销单编号已经存在!",vbExclamationrs.CloseDbHandle.DbCloseExitSubEndIfrs.Closesql="TBL_USER""如果记录不存在打开职工表进一步验证职工ID号是否存在rs.CursorType=adOpenDynamicrs.LockType=adLockOptimisticrs.Filter="USER_ID=""&Text3.Text&"""rs.Opensql,DbFinanceIfDbHandle.resultcount(rs)<>1Then"如果职工ID记录不存在则提示错误对话框并且关闭数据库 MsgBox"错误,不存在的职工ID号!",vbExclamationText3.SetFocusrs.CloseSetrs=Nothing"释放结果记录集DbHandle.DbCloseExitSubElsers.Closesql="TBL_CUR""如果职工和报销单号都没有问题就打开流动资产表添加新记录rs.Filter=""rs.Opensql,DbFinancers.AddNewrs("CUR_ID")=Text1.Text"报销单编号rs("CUR_TYPE")=Combo1.ItemData(Combo1.ListIndex)"报销类别rs("CUR_MONEY")=Val(Text2.Text)"报销金额rs("CUR_USER")=Text3.Text"报销职工的IDrs("CUR_DATE")=Me.DTPicker1.Value"报销时间rs("CUR_PART")=Combo2.ItemData(Combo2.ListIndex)"报销部门rs("CUR_REMARK")=Text4.Text"报销说明rs.Updaters.CloseEndIfDbHandle.DbCloseMsgBox"报销记录成功添加!"UnloadMeElse"数据库打开失败则提示并关闭数据库MsgBox"数据库错误!",vbExclamationDbHandle.DbCloseEndEndIfEndSubPrivateSubCommand2_Click()UnloadMe"取消添加并且返回主窗体EndSubPrivateSubForm_Load()DimsqlAsStringDimrsAsNewADODB.Recordset Me.Left=(Screen.Width-Me.ScaleWidth)/2"居中显示当前窗体Me.Top=(Screen.Height-Me.ScaleHeight)/2IfDbHandle.DbConnectionThen"打开数据库连接sql="TBL_CURTYPE""将报销类别从数据库中取出来并且显示在下拉列表中rs.CursorType=adOpenDynamicrs.LockType=adLockOptimisticrs.Filter=""rs.Opensql,DbFinanceDoWhilers.EOF=False"从查找出来的结果集中循环加入下拉列表中,并且记录每个报销类别编号Combo1.AddItem(rs("CURTYPE_NAME"))Combo1.ItemData(Combo1.NewIndex)=rs("CURTYPE_ID")rs.MoveNextLooprs.CloseSetrs=Nothing"添加完成释放结果集DbHandle.DbCloseElse"打开数据库失败弹出错误窗体MsgBox"数据库错误!",vbExclamationDbHandle.DbCloseEndEndIfIfDbHandle.DbConnectionThen"再次打开数据库提取部门信息sql="TBL_PART""对部门表进行全部选择rs.CursorType=adOpenDynamicrs.LockType=adLockOptimisticrs.Filter=""rs.Opensql,DbFinanceDoWhilers.EOF=False"对选择出来的部门结果集遍历,加入下拉列表中Combo2.AddItem(rs("PART_NAME"))Combo2.ItemData(Combo2.NewIndex)=rs("PART_ID")rs.MoveNextLooprs.Close"完成下拉列表的动态添加,释放结果集资源,关闭数据库连接Setrs=NothingDbHandle.DbCloseElse"打开数据库失败弹出错误窗体MsgBox"数据库错误!",vbExclamation DbHandle.DbCloseEndEndIfText1.Text="""初始化窗体元素属性Text2.Text=""Text3.Text=""Text4.Text=""Text4.MaxLength=100Combo1.Text=""Combo2.Text=""EndSub5.6用户管理的设计与实现用户管理源代码:PrivateSubCommand1_Click()DimsqlAsStringDimrsAsNewADODB.RecordsetIfUser.Text=""Then"判断管理员ID输入框不为空MsgBox"管理员ID不能为空!",vbCriticalUser.SetFocusExitSubEndIfIfPass.Text=""Then"判断管理员密码输入框不为空MsgBox"管理员密码不能为空!",vbCriticalPass.SetFocusExitSub EndIfIfDbHandle.DbConnectionThen"打开数据库连接sql="TBL_ADMIN""对TBL_ADMIN进行操作rs.CursorType=adOpenDynamicrs.LockType=adLockOptimisticrs.Filter="ADMIN_ID=""&User.Text&""""选择条件是符合User.Text的管理员记录rs.Opensql,DbFinanceIfDbHandle.resultcount(rs)=1Then"如果找到一条存在的管理员记录就报错MsgBox"管理员ID已经存在!",vbExclamationrs.CloseDbHandle.DbCloseExitSubElse"否则新建一条管理员记录完成添加rs.Closers.Filter=""rs.Opensql,DbFinancers.AddNewrs("ADMIN_ID")=User.Textrs("ADMIN_PASSWORD")=Pass.Textrs.Updaters.CloseEndIfMsgBox"管理员成功添加!"UnloadMeElse"当数据库连接打不开时候报错MsgBox"数据库错误!",vbExclamationDbHandle.DbCloseEndEndIfEndSub第六章系统使用说明 6.1使用说明本系统服务于企事业单位的财务管理人员,具有工资管理,固定资产管理,流动资产管理等模块主要功能.体现信息技术在传统行业的应用.6.2运行环境硬件系统硬件平台CPUIntelP41.5G主板Intel850芯片组的GA-8TX-C内存2×128M的三星Rambus内存硬盘SeagateBarracuda7200.780G显卡Unika小妖G9800显示器美格770PF,17寸纯平显示器软件环境操作系统MicrosoftWindowsXP简体中文专业版+SP1办公软件MicrosoftOffice2003显卡驱动nVIDIAForceWare驱动56.72版ForWin2000/XP软件系统:Visualbasic6.0中文版、Access数据库。7.2系统分析阶段心得 最初,就像上面所说的自己对开发工具的学艺不精,所以一开始感觉摸不着头绪,根本不知道从何下手。所以只有匆匆忙忙地从图书馆借来大量关于VB和ACCESS方面的书籍,希望通过参阅各种关于运用VB和ACCESS开发系统的书籍充分了解系统建设的基本流程、总体布局设计以及系统开发前所需的一些准备工作,做到心中有数。然而,由于实在是经验有限,虽然书本上介绍了许多这方面的知识和操作方法,但是毕竟还是限于理论方面的,所以理解起来比较困难。幸好有同学在这方面比较擅长,所以就向他请教了一些关于这方面的实际操作流程。经过几次交谈,我在以前基础上加深了概念,至少知道整个设计流程和具体实际操作。所以,接下来我就按先前了解的那样,将自己以前做的系统的资料找出来,结合目前的情。。。。。。。。。。。。。。。。。。。。或者一些字段在一张表里面没有必要设定。在问询了同学的意见以后,他们。。。。。。。。。。。非常重要的。 结束语经过这段时间的毕业设计,我觉得开发一个系统并不容易,从一开始的调查到设计花了很多时间和精力,同时在系统界面的友好性方面等多方面存在不足。这些都有待进一步改善。致谢在整个设计开发过程中,我得到了很多老师和同学的热情帮助,尤其是我的指导老师×××,他在我的整个设计过程中给指导。在大家的共同努力下,我的系统设计才能够顺利地完成。 参考文献1.《数据库系统原理与应用》闪四清清华大学出版社1999年2.《VisualBasic6.0程序设计》刘世峰中央广播电大出版社2003年3.《VisualBasic程序设计》陈明中央广播电大出版社2001年4.《软件工程》杨文龙电子工业出版社2001年5.《管理信息系统》薛华成清华大学出版社1996年'