小型制造业财务管理信息系统设计与开发.doc_第1页
小型制造业财务管理信息系统设计与开发.doc_第2页
小型制造业财务管理信息系统设计与开发.doc_第3页
小型制造业财务管理信息系统设计与开发.doc_第4页
小型制造业财务管理信息系统设计与开发.doc_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

小型制造业财务管理信息系统设计与开发摘要21世纪的全球经济一体化是不可避免的趋势。Internet逐渐成为人们生活不可缺少的一部分。据统计,中国网民数量以每半年翻一番的速度攀升到了现在的约2000万,去年底已有300余个各级政府部门在国际互联网上建立自己的站点。在这个以信息高速公路为主要特征的Internet时代,财务管理信息系统必须跟上时代的步伐,实现对财务活动有效、科学的监督和管理。 在制造业中,由于日常资金的流动十分频繁,依靠手工处理来记录或统计各种凭证数据,既难做到及时性,也难保证数据的准确性,因而有必要建立一个计算机财务管理信息系统。基于此,前台采用VB,后台采用Access技术开发了一个财务管理信息系统,实现了财务管理中基础数据管理、凭证管理、账簿查询和结账及报表生成的功能,有效地提高了小型制造业财务管理的工作效率。关键字财务;信息管理;VB;AccessAbstractThe 21st century global economic integration is inevitable trend. Internet gradually becomes an indispensable part of life. According to statistics, the number of Internet users in China is doubling in speed every six months rose to about 20 million now, the end of last year, more than 300 government departments at all levels on the Internet to establish their own site. In this information superhighway as the main feature of the Internet era, financial management information system must keep up with the pace of the times and realize the financial activity to be valid, scientific supervision and management.In the manufacturing sector, because of day-to-day flow of capital are frequent, relying on the manual processing to record or statistical data of various documents, both hard to do in a timely manner, but also difficult to guarantee the accuracy of the data, it was necessary to establish a computerized financial management information systems. Based on this, the prospects of using VB, Access technology development background use of a financial management information system for the financial management of the basic data management, document management, query and checkout books and report generation functions, effectively improving the small manufacturing sector financial management efficiency.Keywords financial; information management; VB; Access1. 引言1.1项目来源21世纪的全球经济一体化是不可避免的趋势。如果说过去20年电脑业的高速发展证实了著名“摩尔定律”的正确性,即中央处理器速度每18个月翻一倍,那么过去6年Internet产业以令人目眩的迅速成长,则验证了目前还不那么著名,但注定将名垂IT产业发展青史的METCALFS LAW(麦特克夫定律)的正确性,即Internet价值等于连在网上用户数量的平方。Internet逐渐成为人们生活不可缺少的一部分。据统计,中国网民数量以每半年翻一番的速度攀升到了现在的约2000万,去年底已有300余个各级政府部门在国际互联网上建立自己的站点。在这个以信息高速公路为主要特征的Internet时代,财务管理信息系统必须跟上时代的步伐,实现对财务活动有效、科学的监督和管理。 在制造业中,企业的财务管理是一项日常性的工作,企业的各级管理人员需要及时了解、掌握企业的运营状况,以便心中有数,合理安排企业的经营策略,因而财务管理是制造业的一项非常重要的工作。在该企业中,由于日常资金的流动十分频繁,依靠手工处理来记录或统计各种凭证数据,既难做到及时性,也难保证数据的准确性,因而有必要建立一个计算机财务管理信息系统。1.2任务目标“小型制造业财务管理信息系统”是自行调研、设计、开发并成功实施,为提高财务业务处理的准确性、时效性,从而为财务管理活动提供准确、及时的信息的管理信息系统。系统要求界面设计人性化,便于财务人员的操作。要求系统维护性强。对相关子系统不同的硬件平台、操作系统、实现技术、数据库数据格式等要求要有兼容性,能进行统一用户管理与权限集中管理,并且提供详细的系统技术手册。开发良好的扩展性,为以后进一步提升系统的服务层次提供相应的平台。总的来说,本系统的总体目标就是便捷、安全、美观、实用、可扩展性。1.3应用价值该小型制造业财务管理信息系统,是以电脑为基础,采用现代的科学技术和先进的管理方法,对财务工作的原始数据进行处理,为各级财务部门领导和财务管理人员提供完整、准确、及时、适用的财务管理信息,为决策机关决策提供信息支持,以实现对财务活动进行有效的科学的组织、计划、分配、调节、控制和监督,提高经费使用效益为目标的辅助管理决策支持系统。2. 项目规划2.1 项目资源2.1.1硬件设备(1)服务器端:处理器:Intel Pentium IV 1.6GHz或更高; 内存:256MB;硬盘空间:80GB;显卡:SVGA显示适配器(2)客户端: 处理器:Intel Pentium 166MX或更高;内存:32MB;硬盘空间:10GB;显卡:SVGA显示适配器2.1.2软件环境(1)服务器端:操作系统:Windows NT Server 4.0或Windows XP/Windows 2000;网络协议:TCP/IP;Web服务器:Internet Information Server 5.0;数据库: Access;浏览器:Internet Explore 5.0(2)客户端:操作系统:Windows 98/ME/2000/XP;网络协议:TCP/IP;浏览器: Microsoft Internet Explore 5.02.1.3软件工具本系统以Window操作系统为平台,以Visual Basic 6.0为界面开发工具,Access作为数据库。采用B/S结构,辅以VBScript技术以期带来良好的用户体验。2.2项目进程2.2.1 任务描述本系统采用至上而下的项目开发步骤,整个开发周期由项目研究、项目规划到方案实施到最后完成整个解决方案组成,具体步骤如图1所示。界面设计程序设计程序集成元件测试工作总结工作展望用例测试界面设计的确定系统功能的确定系统结构的确定数据结构的确定总体框架设计软件结构设计数据结构设计功能模块设计数据库设计业务需求功能需求数据需求其他需求项目资源规划项目进程规划项目可行性评估项目来源研究任务目标研究应用价值研究项目研究项目规划需求分析项目设计方案确定方案实施集成测试系统评估成功完成全方位解决方案图1 系统开发步骤图2.2.2进度安排项目进度安排甘特图如图2所示。图2 项目进度安排甘特图系统分析阶段:查阅相关资料和项目构思方案,包括系统的业务需求的详细分析与系统的总体规划、设计,做出系统需求分析说明书;需求规格说明书;概要设计说明书;详细设计说明书;项目实施计划书。系统开发阶段:包括对于以下内容进行的详细设计以及编码实现:系统初始化模块、凭证模块、账簿模块、报表模块及结转模块。系统测试阶段:数据准备、数据初始化;单元测试、系统集成测试、用户确认测试。安装调试阶段:系统安装实施;用常用的方法进行系统调试。系统运行与维护阶段:系统的维护是一个长期性的工作,其目的是提供一个可靠、稳定的系统,使信息与内容更加完整、统一,并使内容更加丰富,不断满足用户更高的要求。2.3项目可行性评估2.3.1技术可行性拟开发的财务管理系统准备用Visual Basic 语言联合数据库来实现。Visual Basic 语言是一个应用非常广泛的语言,并且也很容易掌握。该系统连接的数据库语言是Access。所以,利用现有的技术,在大多数的计算机上该程序都可以进行该系统的编写。从这方面考虑,该软件是可行的。2.3.2计划可行性将系统的开发过程分为分析、开发、测试、运行与维护、安装调试等5个阶段,系统开发人员在每个阶段都完成相应的任务,任务强度与时间分配合理,且能使他们在有限的时间内能高效地完成各部分的任务。因此,本系统得开发在计划上是可行的。2.3.3应用可行性财务管理是企业经营战略的一个重要组成部分,在企业中处于十分重要的地位。伴随着现代电子技术的飞速发展,财务管理工作也发生了深刻的变革。目前,各企业普遍采用管理信息系统对有关业务进行处理,提供管理信息并辅助管理人员进行预测、分析、计划、控制和决策。管理信息系统的发展对企业的管理方式、组织构成、企业的生存发展等各方面都产生了深远的影响。许多单位具有资金结算中心的性质,主要业务是管理企业各项经费,提供资金结算服务,并监督开户单位资金收支活动,是银行机制与企业财务控制相结合的机构,每年数一万计的项目报表、账簿的编制和打印,日常业务工作量十分巨大。此外,由于所保存的数据涉及企业核心机密,因此,保密性要求很高,容不得半点马虎。以上这些情况,决定了迫切需要开发一个能辅助人工完成日常审核、拨款、记账等工作的且具有速度快、效率高、数据准确、保密性强等特点的财务管理信息系统。所以说,本系统的开发在应用上也完全可行。3. 系统需求分析3.1 业务需求3.1.1业务组织通过对企业管理业务的调查分析,弄清了该企业的组织机构设置(如图3所示)。总经理行政部财务部营销部技术部销售采购市场库管 图 3 企业组织机构设置图3.1.2业务定义该企业的财务管理工作是财务部汇总企业各部门的财务原始凭证,对其进行财务处理并生成会计报表的过程。该企业财务管理顶层数据流程图如图4所示。会计报表原始凭证财务部财务处理图4 企业财务管理顶层数据流程图3.1.3业务流程该企业财务管理业务处理流程图如图5所示。收款凭证付款凭证转账凭证现金日记账银行存款日记账原始凭证汇总原始凭证记账凭证科目发生额余额表总分类账明细分类账会计报表图5 企业财务管理业务处理流程图从上述业务处理流程图可以看出该企业的财务管理主要有以下七个处理步骤:根据各种原始凭证和原始凭证汇总表填制收款凭证、付款凭证和转账凭证。根据收款凭证和付款凭证登记现金日记账和银行存款日记账。根据原始凭证、原始凭证汇总表和记账凭证登记各种明细分类账。根据各种记账凭证编制科目发生额余额表。根据科目发生额余额表登记总分类账月末,现金、银行存款日记账和明细分类账分别与总分类账相核对。根据总分类账和明细账的资料编制会计报表。3.2 功能需求3.2.1功能组成由上可知,该财务管理信息系统必须具备如下功能:(1) 能够记录每天发生的业务, 具备凭证输入功能。(2) 可以提供过账, 结账功能, 能够查询公司总账明细账。(3) 可以生成资产负债表、利润及利润分配表。(4) 可以进行财务分析, 能够对公司的经营状况有个大体的了解。图6为本系统的功能需求示意图。财务管理信息系统输入凭证登记账簿结账输出会计报表图6 系统功能需求示意图3.2.2功能逻辑该财务管理信息系统的数据流程图如图7所示。原始凭证输入记账凭证库登记总账明细账现金日记账银行存款日记账结账资产负债表损益表输出会计报表图7 系统数据流程图3.2.3功能定义(1)输入凭证:系统能使财务部及时地保存企业各部门的财务原始凭证数据。(2)登记账簿:系统能根据财务部输入的财务原始凭证登记总账、明细账、现金日记账和银行存款日记账等。(3)结账:系统能对登记的总账、明细账、现金日记账和银行存款日记账等进行结算,生成资产负债表和损益表。(4)输出会计报表:系统能将资产负债表和损益表制成会计报表并输出。3.2.4动态数据定义该系统数据流描述如表1所示:表1 系统数据流描述数据流说明数据流来源数据流去向组成原始凭证记录原始凭证的信息操作员用户输入记账凭证库凭证编号、会计期间、凭证字号、日期、附单据、制单、借方合计、贷方合计、过账状态、凭证状态总账、明细账、现金日记账、银行存款日记账记录账簿的基本信息记账凭证库账簿文件内部编号、分录编号、会计期间、凭证字号、凭证编号、摘要、科目代码、借方、贷方、余额方向、余额、数量、单价、结算方式、结算号、结算日期、余额标记资产负债表、损益表记录结账的基本信息账簿文件结账文件会计期间、现金及现金等价物、应收账款、坏账准备、应收账款净值、流动资产总计、固定资产原值、累计折旧、固定资产总计、其他资产、资产总计、应付账款、预收账款、应付工资、其他负债、负债总计、实收资本、资本公积、赢余公积会计报表记录会计报表的基本信息结账文件会计报表文件科目代码、期初余额、余额方向、本期借方合计、本期贷方合计、本年借方累计、本年贷方累计、余额3.3 数据需求3.3.1数据关系该企业财务管理数据实体关系图如图8所示。11111凭证分录会计科目本期汇总账簿本期明细账簿图8 企业财务管理数据实体关系图3.3.2静态数据定义该系统中部分数据项描述如表2所示。表2 凭证数据项描述数据项含义说明类型长度取值范围取值含义与其他数据项逻辑关系凭证编号唯一标识文本10标识凭证关联凭证字号会计期间数字16凭证字号文本2收/付/转区分凭证类别日期日期/时间10记录会计日期附单据数字16单据编号制单文本20制单人姓名借方合计货币8贷方合计货币8过账状态文本4已过/未过辨别凭证是否过账关联凭证状态凭证状态文本10辨别凭证关联过账状态表3 分录数据项描述数据项含义说明类型 长度取值范围取值含义与其他数据项逻辑关系编号唯一标识数字16标识分录关联凭证编号凭证编号文本10标识凭证关联分录编号摘要文本40描述分录科目代码文本20借方货币8贷方货币8数量数字16单价货币8结算方式文本10结算号数字16结算日期日期/时间10表4 会计科目数据项描述数据项含义说明类型长度 取值范围 取值含义与其他数据项逻辑关系科目代码唯一标识文本20标识科目关联科目名称科目名称文本20关联科目代码、助记码、科目类别助记码文本20便于记住科目名称关联科目名称科目类别文本20关联科目名称是否存货科目文本20余额方向文本4借/贷数量单位文本10表5 本期明细账簿数据项描述数据项含义说明类型 长度取值范围取值含义与其他数据项逻辑关系内部编号唯一标识数字16标识本期明细账簿分录编号数字16标识分录会计期间数字16凭证字号文本2收/付/转区分凭证类别关联凭证编号凭证编号文本10关联凭证字号摘要文本40描述本期明细账簿科目代码文本20借方货币8贷方货币8余额方向文本4借方/贷方余额货币8数量数字16单价货币8结算方式文本10结算号数字16结算日期日期/时间10余额标记是/否2是/否表6 本期汇总账簿数据项含义说明类型长度取值范围取值含义与其他数据项逻辑关系科目代码唯一标识文本20标识科目期初余额货币8余额方向文本4借方/贷方本期借方合计货币8关联本年借方合计本期贷方合计货币8关联本年贷方合计本年借方累计货币8关联本期借方合计本年贷方累计货币8关联本期贷方合计余额货币8本年资金余额3.4 其他需求3.4.1性能需求(1)合法性合法性是指系统应符合现行会计制度及其他财经法规的有关规定,应能提供企业、事业单位现代化管理所需的财会信息。一方面,要在核算工作中体现现行会计制度及其他财经法规的要求;另一方面要求财务系统能够提供准确可靠的财务信息,满足管理的需求。(2)安全可靠性安全性指系统防止财务信息被泄漏和破坏的能力。可靠性是指财务系统防错、查错、纠错的能力,防止产生不正确财务信息的能力。财务系统应能有效地防止差错的发生,在发生时能及时查出并能进行修改,最重要的是能有效地防止财务信息的泄漏和破坏。为了达到安全可靠性指标,系统本身应设有多种控制措施、如权限设置、复核功能设置、各种校验功能设置、处理顺序控制、采用信息加密技术和存取控制技术、设立备份和恢复功能等。(3)易用性易用性是指系统易学、易用、易懂的性能。系统应具备如下性能:一是界面友好。系统的界面应简洁明了,提示清楚丰富,所用语言符合财会人员的习惯,输入输出的格式规范。二是系统应提供其使用资料。特别是培训资料,其内容要完整,内容易学易懂,各种叙述清楚明了,手册中的范例恰当实用。三是系统便于操作。系统操作简单,各种自定义功能及控制措施的使用简捷实用,自动化程度很高,辅助功能及服务功能丰富实用等。(4)适应性适应性是指系统能很好地适应企业财务处理的具体情况,并在企业财务工作内容发生变化时,系统也能方便地适应这些变化的程度,比如,科目的变化、报表格式及内容的变化、各种比率的变化以及核算内容的变化等。(5)可审计性可审计性指财务系统提供的功能应预留审计线索,增强可查询项目。为提高财务数据的可用性,财务系统在查询上应提供更为方便的功能,如复合条件查询、模糊查询等,使财务人员能够更灵活地利用财务数据进行分析和灵活的界面切换,使会计凭证、明细账、总账以及报表之间的数据运用更加自如。(6)可恢复性可恢复性指系统必须提供可恢复保护功能,预防不利因素对财务数据的侵害。系统对存储在磁性介质或其他介质上的程序文件和相应的数据文件应有必要的保护措施,应能在发生故障引起内外存财务数据被破坏的情况下,利用现有数据恢复到最近状态。3.4.2安全需求为了实现系统功能最大化的目标,给目标用户提供方便、实用的信息服务,利用对经济数学模型的运算,把定性方法和定量方法有机地结合起来,模拟经费运行及变化规律,预测未来发展趋势,优选投资分配决策方案,为财务管理宏观决策服务,也是在未来内向更高层次的财务管理信息系统过渡的重要保证。对于一个良好的系统,从软件到硬件上为了保证良好的安全性,都应做到以下几点要求:(1)对数据库合法用户进行分组,不同的用户具有不同的权限。对于进行数据修改的合法用户只能通过应用系统登陆进行修改。服务器内部可以通过端口限定等方法,限制第三方攻击。(2)对于非常敏感的信息,则采用加密和追踪相结合的方法,通过日志追踪合法用户对这些信息的修改、插入、删除操作。(3)应用系统安全措施:审核过程采用应用程序的方式,应用程序的获得严格采用用户身份类别。应用系统采用用户组与用户二级管理,对用户组中的不同用户分别作权限控制。4. 系统结构设计4.1总体框架在系统架构方面,基于系统的访问速度,便捷性、可行性等要求,本系统采用了目前流行的 B/S 三层结构。它包括用户界面层、业务逻辑层、数据库服务器层。用户界面层(UI层)负责处理用户数据的输入和向用户的输出数据,但是一般来说,并不负责解释其含义(在某些时候,出于对效率的考虑,它可能在向上传输用户输入前进行合法性验证)。在本系统中采用的是VBScript脚本语言实现系统数据的合法性验证。业务逻辑层作为联系上下两层的纽带,它建立实际的数据库连接,根据用户的请求生成SQL语句检索或更新数据库,并把结果返回给客户端浏览器,这一层通常以动态链接库的形式存在,它与客户端浏览器通信的接口符合某一特定的组件标准。数据库层定义、维护数据的完整性、安全性,它响应逻辑层的请求,访问数据、存储数据和操作数据等。如执行SQL语句和存储过程等,并向业务逻辑层返回处理结果。其系统架构方面组成如图9所示。U I层客户端浏览器输入 数 据输 出数 据请求返回业务逻辑层初 始 化 模 块凭 证 模 块 帐 簿 模 块 报 表 模 块 结 转 模 块数据库层Access数据处理(添加、删除、修改等操作)HTTPhtml请求返回SQLDATA图9 B/S结构示意图4.2 软件结构4.2.1软件模型该系统的软件结构图如图10所示。财务管理信息系统初始化模块凭证模块账簿模块报表模块结转模块图10 软件结构图4.2.2模块定义(1)会计科目(系统初始化)模块实现功能科目查询(顺序查询、定制查询)科目修改科目删除科目添加设置修改科目的期初(2)凭证模块实现功能凭证输入(按照主细表结构)凭证查询(顺序查询,制定查询)凭证分录的修改,删除和插入凭证删除凭证审核凭证登记账簿(总账、明细账、现金日记账、银行存款日记账)(3)账簿模块实现功能为:对总账和明细账按照会计期间和会计科目查询浏览;对现金日记账和银行日记账按照会计期间或者具体日期查询浏览;实现总账,明细账,现金日记账和银行存款日记账的打印输出。(4)报表模块实现功能根据某一月份的总账生成当期的资产负债表供浏览和打印;根据某一月份的总账生成当期的损益表供浏览和打印。(5)结转模块实现功能期末结转:对当期所有登帐完毕的凭证登入科目每期发生额表,提供下一期的期初余额;年末结转:对当年对当期所有登帐完毕的凭证结转,余额作为下一年的年初余额。图11为本系统的系统功能模块示意图。财务管理信息系统会计科目(科目初始化)凭证账簿报表结账用户管理科目添加 科目修改,查询科目删除 科目余额设置凭证输入/维护凭证审核 凭证登帐(四个帐)查看并打印总账,明细账,现金日记账,银行存款日记账输出和打印资产负债表,损益表期末结转 年末结转修改密码 添加用户图11 系统功能模块图4.3 数据结构4.3.1 数据库模型根据上文的数据需求可以看出,本系统主要包括会计科目、凭证、分录、科目余额、本期明细账簿、本期汇总账簿等实体,各实体关系如下文所述。(1)凭证历史实际上是对凭证记录的备份保存,因此凭证历史表和凭证表间存在一对一的关系。(2)分录历史实际上是对分录记录的备份保存,因此分录历史表和分录表间存在一对一的关系。(3)一张凭证可以被包含在多个分录中,多个分录可以同时对应一张凭证,因此凭证表和分录表间存在一对多的关系。(4)一个科目被包含在多个分录中,多个分录可以同时对应同一科目,因此科目表和分录表间存在一对多的关系。(5)账簿初始化实际上是对科目表中每个科目进行初始化操作,因此账簿初始化表和科目表间存在一对一的关系。(6)本期汇总实际上是对期间发生的每个科目进行汇总操作,因此本期汇总账簿和科目表间存在一对一的关系。(7)一个会计科目可以被包含在多张本期明细中,多张本期明细可以对应同一会计科目,因此科目表和本期明细账簿间存在一对多的关系。(8)科目余额实际上是对每个会计科目的余额的计算,因此科目余额表和科目表间存在一对一的关系。(9)一个会计期间的资产负债是对多个科目余额的统计,多个科目余额可以生成一张资产负债,因此资产负债表和科目余额表间存在一对多的关系。数据库中表间E-R图如图12所示。M11M1111M111M11111科目表凭证表资产负债表分录表本期汇总账簿本期明细账簿凭证表历史分录表历史科目余额表账簿初始化表图12 数据库表间E-R图4.3.2 数据定义由上述分析可知,该系统共需要12张表,用途分别如表7所示。表7 系统数据表及其用途数据表名称数据表用途科目表保存企业财务的科目设置信息账簿初始化表正式使用系统前初始化科目的期初余额凭证表输入会计凭证,分录表的主表分录表输入会计凭证,分录表的从表科目余额表保存各个会计期间的科目借、贷、余额情况凭证表历史保存过账后的凭证历史分录表历史保存过账后的分录历史本期明细账簿保存当前会计期间的明细账簿数据本期汇总账簿保存当前会计期间的明细账簿数据,期末结账后期末变成新会计期间的期初资产负债表统计用表,用于计算资产负债表系统参数表系统运行所需的参数信息用户清单保存系统用户登录信息5. 系统详细设计5.1功能模块详细设计5.1.1会计科目(系统初始化)模块算法设计和代码实现该模块的算法根据会计科目(系统初始化)模块的模块定义来设计。会计科目(系统初始化)模块算法设计要求如下:(1)新增科目时对于科目编号的输入控制首位必须为1/2/3/4/5编号符合编码规则(也就说限制长度为3/5/7/9)编码不准出现重复编码不准越级,不准只有下级科目而不存在上级科目对于已经在输入凭证中使用的科目编码,不能再赋予其下级科目(2)新增科目时对于科目名称的输入控制不准出现空值。(3)修改删除会计科目时的控制条件不准修改科目编号科目若存在下级科目,将不准删除科目若已经输入余额或发生额,不准修改和删除科目已经在凭证中使用的,不允许修改和删除该模块的主要代码为:新增科目函数:Public Overrides Sub saveforadd() Dim drdata As DataRow = dataset11.tables(科目表).newrow() Try drdata(科目代码) = txbcode.text.trim drdata(科目名称) = txbname.text.trim drdata(助记码) = txbhelpcode.text.trim drdata(科目类别) = cbbkind.text.trim drdata(余额方向) = cbbdirection.text.trim Catch ex As Exception messagebox.show(数据格式不正确!) Exit Sub End Try Try dataset11.tables(科目表).rows.add(drdata) If Me.dataset11.haschanges = True Then sqldataadapter1.updata(dataset11) End If Catch ex As Exception messagebox.show(数据添加失败!) End Try End Sub更新科目函数:Public Overrides Sub saveforupdate() Try Dim row As Integer row = dgdlist.currentcell.rownumber dgdlist.currentcell = New datagirdcell(row + 1) Mod bmdata.count, 0) 判断是否有更新的数据 If Me.dataset11.haschanges = True Then sqldataadapter1.update(dataset11) End If Catch ex As Exception messagebox.show(数据修改失败!) End TryEnd Sub删除科目函数:Public Overrides Sub deletedata() Try 删除当前行的数据 dataset11.tables(科目表).rows(bmdata.position).delete() If Me.dataset11.haschanges = True Then 更新dataset11 sqldataadapter1.updata(dataset11) End If Catch ex As Exception messagebox.show(数据删除失败!) End Try End Sub5.1.2 凭证模块算法设计和代码实现该模块的算法根据凭证模块的模块定义来设计。凭证模块算法设计要求如下:(1)输入凭证分录时的输入控制凭证分录的发生科目必须已经在科目表中存在。凭证分录的借贷方发生额必须相等,否则会提示用户。(2)修改/删除凭证分录时的输入控制对于已经审核完毕的凭证不准修改/删除分录。修改之后的凭证依旧要保证借贷方发生额必须相等。(3)审核凭证时的输入控制要求审核凭证的用户和凭证制单的用户不能为同一人。审核凭证时若凭证借贷不平衡或者发生额为零则不能审核。(4)凭证登帐时的输入控制凭证登帐的前提是已经审核完毕的凭证。该模块主要实现代码为:添加凭证函数:Private Sub btnadd_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnadd.click 判断数据格式 If validatedata() = False Then messagebox.show(数据格式不正确!) Return End If Try Dim dr As DataRow = dtdetail.newrow dr(摘要) = txbsummary.text.trim dr(科目代码) = txbsubjectcode.text.trim dr(科目名称) = txbsubjectname.text.trim dr(借方)=txbdebit.text.trim dr(贷方) = txblender.text.trim 添加一行数据 dtdetail.rows.add(dr) dgddetail.datasource = dtdetail dgddetail.currentrowindex = dtdetail.rows.count - 1 更新钱的总数 updatemoney() Catch ex As Exception messagebox.show(数据格式不正确!) End Try cleartextbox()End Sub修改凭证函数:Private Sub btnsave_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnsave.click If validatedata() = False Then messagebox.show(数据格式不正确!) Return End If If dgddetail.currentrowindex = -1 Then Return End If Try 更新当前行的数据 Dim irow As Integer = dgddetail.currentrowindex dtdetail.rows(irow)(摘要) = txbsummary.text.trim dtdetail.rows(irow)(科目代码) = txbsubjectcode.text.trim dtdetail.rows(irow)(科目名称) = txbsubjectname.text.trim dtdetail.rows(irow)(借方) = txbdebit.text.trim dtdetail.rows(irow)(贷方) = txblender.text.trim updatemoney() Catch ex As Exception messagebox.show(数据格式不正确!) End Try cleartextbox()End Sub删除凭证函数:Private Sub btndel_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btndel.click Try 获得datagird当前被选中的行号 Dim irow = dgddetail.currentrowindex 弹出对话框让用户确认要删除记录 如果用户确认要删除记录 If messagebox.show(确认要删除此记录吗?, confirm, messageboxbuttons.yesno) = dialogresult.yes Then 从凭证表中删除当前被选中记录() cleartextbox() dtdetail.rows.removeat(irow) Else Exit Sub End If Catch ex As Exception messagebox.show(删除数据出错!) End Try updatemoney() cleartextbox() End Sub5.1.3 账簿模块算法设计和代码实现该模块的算法根据账簿模块的模块定义来设计。总分类账查询函数:Private Sub loaddata() Dim strfilter As String If Me.txbone.text.trim.length = 0 Then If Me.cbbcheck.checked = True Then strfilter = where 本期借方合计0 or 本期贷方合计0 End If Else strfilter = where 科目代码= + Me.txbone.text.trim If Me.cbbcheck.checked = True Then strfilter += and(本期借方合计0 or 本期贷方合计0) End If End If 清空dataset11 dataset11.clear() sqlconnection1.connectionstring = database.sconn mandtext = select * from 本期汇总帐簿 + strfilter 根据查询条件重新填充dataset11 sqldataadapter1.fill(dataset11) dtdata = dataset11.tables(本期汇总帐簿) bmdata = Me.bindingcontext(dataset11, 本期汇总帐簿) lblcount.text = 记录数: + dtdata.rows.count.tostring() End Sub试算平衡函数:Private Sub mnpingheng_clic

温馨提示

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

评论

0/150

提交评论