您的当前位置:首页正文

基于VB的财务管理系统审批稿

2021-09-24 来源:小奈知识网


基于VB的财务管理系

YKK standardization office【 YKK5AB- YKK08- YKK2C- YKK18】

基于VB会计管理系统

前言

工程介绍

作为每一个企业和团体,财务管理系统是其管理财务收入和支出的不可缺少的组成部分,无论是企业的财务计划,财务控制还是财务监督和财务运用,每一个涉及到财务的方方面面,财务管理系统都起着至关重要的作用。更好的运用财务系统和发挥财务管理的作用是一个企业成败的关键。

而作为财务管理工作的核心就是最简单的资金流通,如果想要在资金的流通与使用过程中更好的应用并且合理的调配是离不开一个好的财务管理系统的。

作为企业。在生产经营活动无外乎供、产、销三个环节,这个过程始终贯穿着资金运动,只是在各个环节上资金的表现形态不同罢了。在供应阶段资金由货币形态转变为材料形态,生产阶段由材料形态变为产品形态,在销售阶段由产品形态又回到货币形态。从这里可以看出,财务管理贯穿于企业的各项工作之中,财务工作与其它管理工作是密不可分的。从企业目前 的实际工作来看,普遍存在两个误区:一种认为财务管理就是管钱,只要管住钱就可万事大吉,重资金,轻核算。上面谈到,资金在生产经营过程中分别有着不同的表现形式,“钱”只是这个过程的起点和终点,大量的管理工作都蕴含在过程之中。因此,只有加强内部核算,才能真正做到节支降耗,否则,“钱”是管不住的。另一种认为财务管理就是管财务部门,把财务部门与其他管理部门割裂开来,财务管理的触角不能延

伸到各项管理工作之中。财务管理就成为无本之木,其作用得不到发挥,形成经营和生产“两张皮”。

因此,开发这样一套管理软件成为很有必要的事情,对于我们即将计算机专业毕业的学员来说,也是一次将计算机应用于现实管理的一次很有意义的实践活动。

开发的意义

今天,作为任何产业的附庸与必须,计算机已经成为我们学习和工作的得力助手,在每一个企业和团体使用计算机是节省时间和提高效率的最佳途径,而为了更好的管理公司的财务信息和,使用方便快捷的财务管理系统也就成为了帮助我们在财务管理方面必备的工作了。

作为一个时代发展的必然需求,财务管理已经成为了一种模式,而如何将这种模式具体化并且实现,就是本次毕业设计的思路与要求,正宇公司财务管理系统的设计与实现将是本次设计的主题。

二 开发环境及技术实现

开发环境

软件环境

操作系统 Microsoft WindowsXP简体中文专业版+SP3 软件系统:

Visual basic 中文版、Access 数据库。

Visual Basic 简介

Visual Basic 中文版是一种应用程序开发工具,它的功能就是用来编程——Windows 下的应用程序。

”Visual”一词在计算机程序设计领域中意为:”可视化的”,Microsoft公司的其冠以Visual的产品都含有这个意思。VB就是可视化程序设计语言。

可视化程序设计指的是一种开发图形用户界面的方法,使用这种方法,程序员不须编写大量代码去描述界面元素的外观和位置,只要把预先建立的界面元素用鼠标拖放到屏幕上适当的位置即可。

在众多的开发工具中,我们为什么要选择Visual 呢?因为VB具有众多其它开发工具所没有的优点!具体介绍如下:

1)Visual Basic提供可视化的编程工具

用传统的高级语言编程时,程序的各种功能、用户界面和显示的结果全要由程序语句来实现,这就增加了编程难度。而用Visual Basic开发应用程序,包括两部分工作:一是设计用户界面,二是编写程序代码。

Visual Basic向程序设计人员提供图形对象(窗体、控件、菜单等)来进行应用程序的界面设计,例如程序人员可以根据用户的需要轻而易举地在屏幕上画出下图的用户界面。Visual BASIC提供的“工具箱”内存放若干个“控件”,程序设计者可以自由地从工具箱中取出所需控件,放到窗体中的指定位置,而不必为此编写程序。也就是说,屏幕上的用户界面是用Visual Basic提供的可视化设计工具直接“画”出来的,而不是用程序“写出来的”。

2)程序采用“事件驱动“方式

在设计好用户界面后,第二件事是编写程序。Visual Basic改变了程序的机制,它没有传统意义上的主程序,而由“事件”来驱动子程序的运行。一般来说,每个子程序要实现的功能是单一的,子程序的规模一般不会太大,也就是说,把原来一个统一控制的、包罗万象的大程序分解为许多个独立的、小规模的子程序,分别由各种“事件”来驱动执行,于是编程难度大大降低了。

3)Visual Basic融入了最新的计算机技术

Visual BASIC的设计者在Visual Basic中融入了最新的计算机技术,使得用Visual Basic编程能充分利用了这些最新的技术,例如在多媒体方面的应用、在Internet 方面的应用等。

总之,Visual Basic是面向对象的、结构化的计算机语言。Visual Basic的界面由一些对象组成,每个对象有若干个属性、方法和事件,程序人员的任务是设计这些对象的事件处理过程。Visual Basic是一种很容易学习并很快就可以熟练掌握的功能强大的编程语言。

第三章 需求分析

用户需求分析 系统需求

随着互联网的爆炸性发展,人们越来越习惯于利用网络来实现所需的服务,网络已深深影响到人们生活的各个方面。另外,传统的财务管理模式已经无法满足一部分现代人的需要,而财务管理系统,除去在我们计算与管理过程中出现的误差与错失,并且能够满足各类公司和团体的常规与特殊需求,而且其方便快捷,实现技术又比较成熟,因此受到当代人的喜爱。

该系统主要分为两部分:资金输入部分和资金输出部分,其中资金输入部分主要包括公司创造的价值与在投资过程中所获得的利润,而资金输出部分则重点体现在员工的工资以及公司投资和在日常工作中所涉及到的需求。这两部分通归为结账以及报表两类,除此之外,本系统还可对用户的账号和队系统的管理权限进行管理。管理员需要给财务处的人员分配用户名和密码,及设定使用者的级别。同时,还需要给财务资源进行分级,以确定哪些级别的用户可以浏览。

当然除了这些,我们对于系统中应有的查询功能也进行了构建,能够在系统中合理并有效的查询出所需的账目及财务咨询将会是提高工作效率的一个重要组成部分。

功能需求

财务管理系统主要是为,管理人员可以通过该系统处理关于公司的财政情况,对于本系统,我们需要实现以下一些基本功能:

1.系统登录模块的实现 2.主窗体模块的实现 3.修改密码模块的实现 4.增加工资记录模块的实现 5.导出报销记录的实现 6.添加固定资产的实现

可行性分析 经济方面可行性分析

制作这样一款软件所能获得的好处是显而易见的,而且在成本上的投入上和所获得的利润相比已经基本算不上什么了。

首先,在投入上,我们只需要准备一台电脑和一个工作人员,也就是我,然后付给我相对应的报酬,从而获得系统本身,当然投入并不只是初期的第一步,在后期系统的维护与运行中,也需要进行一小部分的投入。

那么我们在来说说收益,如果在没有财务管理系统的情况下,公司需要大量的人力以及资源来满足公司财务方面的管理以及保障,同时我们不能保证在管理的过程中出现这样那样的问题,当然并不是指拥有了财务管理系统就没有了这方面的问题,但是由于财务管理系统是一个非常容易就能读懂并且使用的软件,在公司里财务方面,对于总经理和总裁而言,就不会像管理财务报告那么复杂和繁琐了。同时,在使用财务系统的时候,可以简单并且直接的将财务信息进行汇总和处理,方便快捷。

从长远角度来看,随着科技化的日益普及和应用,计算机在我们公司的使用已经成为了必然,而如何合理的利用计算机,并且通过计算机在很多方面实现价值和利润就成为了关键中的关键,财务管理系统抛却古老的‘人’的管理模式,改为机器的控制模式,可以更加切合社会的发展需求,并且可以大大提高公司员工的效率。

拥有这样一个方便且简单的财务系统,并且不需要付出太多的代价,绝对是一个非常好的方案。

技术方面可行性分析

1. Visual Basic 是一个易学易用的集成开发环境:Visual Basic 为用户设计界面、编写代码、调试程序、编译程序、制作应用程序安装盘等提供了友好的集成开发环境。前文我已经介绍了的特点,通过这样一个简单,高效且易用的软件,可以成功且迅速的编写出程序。

2. Access数据库的方便与实用,与其友好的界面以及方便操作的平台都是我选择它做数据库的主要原因,当然其与WIN系列系统的兼容于可用性也是我选择它的重要依据。

3. Visual Basic 和Access的兼容性是不容置疑的,虽然是第一次将两种软件进行实际的结合使用,但是在技术上并没有太多的问题,所以使用这两个软件进行程序的编写以及数据库的应用都没有问题。

法律方面可行性分析

依据国家《计算机软件产品开发文件编制指南》和《现代软件工程》的理论与原则编制标准的软件技术文档,本系统完全符合其相关规定。

第四章 财务管理系统的概要设计

系统结构流程图 系统结构图

财务管理系统的系统结构大致可分为两个组成部分,一个就是系统的用户管理部分,另外一个就是财务管理系统的主要构成部分。

本系统的整体结构如图:

财务管理系统

财务管理子系统 图4-1系统结构图 用户登陆子系统

作为财务管理系统中的用户管理子系统,因为并不是其中关键的结构,所需要的功能并不是很多,大概分为用户登陆和密码修改两方面。

具体结构如图:

用户管理子系统 用户登陆 图4-2用户管理子系统图密码修改 作为系统的核心部分,财务管理子系统所需要的功能就相对过多,主要分为凭证管理、账簿查询以及结账和报表等方面,具体结构如图:

财务管理子系统

凭帐结

图 财务管理子系统

系统流程图

图是本系统的整体流程图: 记录业务 凭证输入 凭证查询 财务部门 凭证过账 分类账查询 期末结账 分类帐 财务报表查询 图4-4 系统流程图

E-R图

本系统主要有以下的实体。 1.科目

会计期间

会计期间 科目 数量单位 科目代码 余额 科目名称 科目类别 是否存货

图4-5 科目E-R图

2.账簿

期初余额 账簿 科目代码 余额方向 科目名称 累计借方 累计贷方

图4-6 账簿E-R图

3. 凭证及凭证历史 会计期间 凭证状态 凭证 科目编号 借方合计 凭证字号 附单据 借单 贷方合计 图4-7 凭证E-R图

凭证状态 凭证历史 贷方合计 科目编号 借方合计 凭证字号 附单据 制单

图4-8 凭证历史E-R图

4. 分录和分录历史 会计期间 编号 分录 单价 凭证编号 结算方式 科目代码 借方 贷方

图4-9 分录E-R图

会计期间 编号 分录历史 单价 凭证编号 结算方式 科目代码 借方 贷方

图4-10分录历史E-R图

5. 科目余额表

本期借方余额本期贷方余额 期初借方余额 科目 期初贷方余额 内部编号 余额方向 最后结算分录 科目代码 本期借方发生本期贷方发生额

图4-11科目E-R图

6.本期明细账簿

凭证字号 凭证编号 单价 分录编号 本期明细账簿 借方 结算方式 科目代码 贷方 会计期间 余额方向

图4-12 明细账簿E-R图

7.本期汇总账簿

本年借方余本年贷方余期初借方余额 期初贷方余分录历史 余额方向 会计期间 科目代码 本期借方合本期贷方合计额

图4-13 汇总账簿E-R图

8.资产负债

负债总计 其他负债 应付账款 实收资本总计 资产簿 负债及所有者权益总计 资产总计 其他资产 流动资产总计 固定资产总计 会计期间

图4-14 资产负债E-R图

实体联系图

凭证表 属于 分录表 保存 保存 凭证表历史 关联 分录表历史 资产负债表 本期明细账簿 汇总 关联 科目余额表 本期汇总账簿 属于 总结 科目表 属于 图4-15 实体联系图

账簿初始化表

数据库设计

“科目表”是系统的关键表,其他各表均与“科目表”通过“科目代码”字段进行多对一的关联。系统共需要11张表,用途如下表

数据表名称 科目表 账簿初始化表 凭证表 分录表 科目余额表 凭证表历史 数据表用途 保存企业财务的科目设置信息 正式使用系统前初始化科目的期初余额 输入会计凭证,记录表的主表 输入会计分录,记录表的从表 保存各个会计期间的科目借、贷、余额情况 保存过账后的凭证历史

分录表历史 本期明细帐簿 本期汇总帐簿 资产负债表 系统参数表 保存过账后的分录历史 保存当前会计期间的明细帐簿数据 保存当前会计期间的明细帐簿数据,期末结账后期末变成新会计期间的期初 统计用表,用于计算资产负债表 系统运行所需的参数信息 创建数据库

打开ACCESS,名称为caiwubook。然后创建数据库对象,完成数据库的设计。

图4-16 数据库截图

创建“科目表”数据表

CREATE TABLE [dbo].[科目表]( [科目代码] [char] (20) NOT NULL, [科目名称] [char] (20) NULL, [科目类别] [char] (20) NULL, [是否存货科目] [char] (10) NULL,

[余额方向] [char] (4) NULL [数量单位] [char] (10) NULL ) ON [PRIMARY] GO

创建“帐簿初始化表”数据表

CREATE TABLE [dbo].[帐簿初始化表] ( [科目代码] [char] (20) NOT NULL , [科目名称] [char] (20) NULL , [累计借方] [money] NULL , [累计贷方] [money] NULL , [期初余额] [money] NULL , [余额方向] [char] (4) NULL ) ON [PRIMARY] GO

创建“凭证表”和“凭证表历史”数据表 CREATE TABLE [dbo].[凭证表]( [凭证编号] [char] (10) NOT NULL, [凭证字号] [char] (2) NULL, [附单据] [int] NULL, [制单] [char] (20) NULL, [借方合计] [money] NULL, [贷方合计] [money] NULL, [凭证状态] [char] (10) NULL ) ON [PRIMARY] GO

CREATE TABLE [dbo].[凭证表历史] ( [凭证编号] [char] (10) NOT NULL , [凭证字号] [char] (2) NULL , [附单据] [int] NULL , [制单] [char] (20) NULL , [借方合计] [money] NULL , [贷方合计] [money] NULL , [凭证状态] [char] (10) NULL ) ON [PRIMARY] GO

创建“分录表”和“分录表历史”数据表 CREATE TABLE [dbo].[分录表]( [编号] [int] IDENTITY (1,1) NOT NULL, [凭证编号] [char] (10) NOT NULL, [科目代码] [char] (20) NULL, [借方] [money] NULL, [贷方] [money] NULL, [单价] [money] NULL, [结算方式] [char] (10) NULL, ) ON [PRIMARY] GO

CREATE TABLE [dbo].[分录表历史] ( [编号] [int] NOT NULL ,

[凭证编号] [char] (10) NOT NULL ,

[科目代码] [char] (20) NULL , [借方] [money] NULL , [贷方] [money] NULL , [单价] [money] NULL , [结算方式] [char] (10) NULL , ) ON [PRIMARY] GO

创建“科目余额表”数据表

CREATE TABLE [dbo].[科目余额表] ( [科目代码] [char] (20) NULL , [期初借方余额] [money] NULL , [期初贷方余额] [money] NULL , [本期借方发生额] [money] NULL , [本期贷方发生额] [money] NULL ,ben [本期借方余额] [money] NULL , [本期贷方余额] [money] NULL , [最后结算分录] [int] NULL , [余额方向] [char] (4) NULL , ) ON [PRIMARY] GO

创建“本期明细帐簿”数据表

CREATE TABLE [dbo].[本期明细帐簿] ( [内部编号] [int] IDENTITY (1, 1) NOT NULL , [分录编号] [int] NULL ,

[凭证字号] [char] (4) NULL , [凭证编号] [char] (10) NULL , [科目代码] [char] (20) NULL , [借方] [money] NULL , [贷方] [money] NULL , [余额方向] [char] (4) NULL , [单价] [money] NULL , [结算方式] [char] (10) NULL , ) ON [PRIMARY] GO

创建“本期汇总帐簿”数据表

CREATE TABLE [dbo].[本期汇总帐簿] ( [科目代码] [char] (20) NOT NULL , [会计期间] [int] NULL , [期初余额] [money] NULL , [本期借方合计] [money] NULL , [本期贷方合计] [money] NULL , [本年借方累计] [money] NULL , [本年贷方累计] [money] NULL , [余额] [money] NULL , [余额方向] [char] (4) NULL ) ON [PRIMARY]GO 创建“资产负债表”数据表

CREATE TABLE [dbo].[资产负债表] (

流动资产总计] [money] NULL , [固定资产总计] [money] NULL , [其他资产] [money] NULL , [资产总计] [money] NULL , [应付帐款] [money] NULL , [其他负债] [money] NULL , [负债总计] [money] NULL , [实收资本总计] [money] NULL , [负债及所有者权益总计] [money] NULL ) ON [PRIMARY]GO 创建“系统参数表”数据表

CREATE TABLE [dbo].[系统参数表] ( [编号] [int] IDENTITY (1, 1) NOT NULL , [参数名称] [char] (20) NULL , [取值] [int] NULL ) ON [PRIMARY]GO

界面设计 主界面设计

本模块主要就是一个简单的界面视图,如图:

图4-17财务管理系统主界面

用户登录子界面

图4-18 管理员登陆界面

员工管理的权限属于经理。以“admin”帐号登陆系统。选择“员工管理”,可以进行“创建员工帐号”、“修改员工密码”、“修改员工资料”等操作。也可以点取“员工帐号管理”启动如图4-17所示界面进行员工帐号的集中统一管理。

财务管理子系统界面设计

图4-19财务管理系统子界面

填写凭证的设计

本模块的功能是对基础财务的设定、使工作人员易于工作,做到数据不易丢失,根据各种基本情况设定界面。

图4-20 填写凭证界面

账目查询界面设计

本模块的功能主要用于查询财务相关账目及信息,分别有总分类查询和各账目的明细查询,如图和图

图4-21 总分类账目查询设计界面

图 明细账查询界面

第五章 财务管理系统详细设计及编码

用户登录子系统的实现 分配用户管理实现

图5-1 管理员登陆界面

员工管理的权限属于经理。以“admin”帐号登陆系统。选择“员工管理”,可以进行“创建员工帐号”、“修改员工密码”、“修改员工资料”等操作。也可以点取“员工帐号管理”启动如下图所示界面进行员工帐号的集中统一管理。

主要代码如下:

Private Sub Command1_Click() Dim Uname As String Dim Pd As String Dim Sql As String Uname = '存放用户名 Pd = '存放密码

Sql = \"select * from pwd where 用户名='\" SQL字符串

If = 1 Then

'存放一

'判断记录集对象的状态

Sql & Uname & \"' and 密码='\" & Pd & \"'\判断返回的记录条数是否为0如果不为0则表示在表中存在这样一个用户名和密码,否则则不存在

If <> 0 Then Qx = (\"权限\")

Unload Form1 Else

MsgBox \"用户名或者密码错误\" End If End Sub

Private Sub Form_Load()

'设置数据库连接对象,使其连接到数据库 \"driver=sql server;server=;database=student\" = adUseClient \"pwd\For i = 0 To - 1 (\"用户名\") Next i End Sub

用户信息管理模块部分代码

图5-2 员工管理界面

主要代码如下:

Dim Flag As Boolean '记录点击确定前所进行的是“添加”还是“修改”按钮

'保存添加或修改后的信息 Private Sub saveinfo() (\"学号\") = (\"姓名\") = (\"性别\") = (\"年龄\") = Val End Sub

Private Sub Showinfo() '把当前记录显示在文本框当中 If IsNull(\"学号\")) = True Then = \"\" Else = (\"学号\") End If

If IsNull(Rs_info(\"姓名\")) = True Then = \"\" Else = (\"姓名\") End If

If IsNull(\"性别\")) = True Then = \"\" Else = (\"性别\") End If

If IsNull(\"年龄\")) = True Then = \"\" Else = (\"年龄\") End If End Sub

Private Sub Command1_Click() '移到第一条

Call Showinfo End Sub

Private Sub Command2_Click() '移到第上一条

If = True Then End If Call Showinfo End Sub

Private Sub Command3_Click() '移到下一条

If = True Then End If Call Showinfo End Sub

Private Sub Command4_Click() '移到最后一条

Call Showinfo End Sub

Private Sub Command5_Click() '添加记录 Flag = True End Sub

Private Sub Command6_Click() '删除记录 End Sub

Private Sub Command7_Click() '修改 Flag = False End Sub

Private Sub Command8_Click() '点击“确定\"按钮时执行相关操作” If Flag = True Then

msg = \"你确定要添加当前记录吗?\" Else

msg = \"你确定要修改当前记录吗?\" End If

X = MsgBox(msg, vbOKCancel + vbQuestion, \"添加\") If X = vbOK Then Call saveinfo Else

End If End Sub

'网格控件的行或列发生变化时触发该事件

Private Sub DataGrid1_RowColChange(LastRow As Variant, ByVal LastCol As Integer)

If <> True And <> True Then Call Showinfo End If End Sub

Private Sub Form_Load() If = 1 Then \"stuinfo\Set = Rs_info Call Showinfo = 8055 = 5115 End Sub

财务管理子系统模块实现 财务管理子系统模块的实现

如图,财务管理系统所包括的四个主要功能,分别是基础数据管理,凭证管理,账簿查询,结账及报表。

5-3财务管理系统子界面

下表是图各控件的属性以及说明。 控件类型 Form Frame Frame Frame Frame Label 对象(控件)名 fmMain Bevel1 Bevel2 Bevel3 Bevel4 Label1到Label9 属性 Name Caption Formstyle Caption Caption Caption Caption Caption 取值(说明) fmMain 财务管理系统 fsMDIForm 基础数据管理 凭证管理 帐簿查询 结账及报表 见图 表5-1窗体及其控件的属性设置如表

因为各个窗体均需要对对数据库进行访问,可以把与数据库进行连接的控件放置到一个数据访问模块中,这样所有的窗体都可以共享来访问数据库。

在ODBC中添加一个驱动程序为SQL Server的系统DNS数据源指向前面创建的caiwubook数据库,名称为caiwulink。

在中单击菜单命令,生成一个数据模块并保存为“工程”文件。

为数据模块添加一个Database控件,控件的属性设置如表,这样在其他窗体中就可以直接使用Query和Table空件来访问数据了。

对象(控件)名 Database1 属性 Name AliasName DatabaseName Params LoginPrompt 取值(说明) Database Caiwulink db USER NAME=sa(访问数据库的用户和密码) False(程序运行时不提示输入数据库用户名和密码) 表5-2 Database控件属性表

凭证窗体设计的模块的实现

选择New |Form 菜单命令,新建一个窗体,将其Name属性改为“fmParent”并为其添加如图所示控件。选择Project|Options…菜单命令,将fmParent窗体从自动创建的窗体列表中删除。 控件类型 Form DataSouce Table ImageList Toolbar 对象名 fmParent DataSource1 Table1 ImageList1 Toolbar1 属性 Caption FormSytle AutoEdit DataSet DatabaseName ImageList Flat ImageList ShowCaptions ButtonHeight 取值(说明) 数据库维护父类窗体 fsMDIChild false Table1 db 按ToolBar1的顺序 True ImageList1 True 36 ToolbarButton ToolbarButton ToolbarButton ToolbarButton ToolbarButton ToolbarButton ToolbarButton ToolbarButton ToolbarButton ToolbarButton

btFirst btPrior btNext btLast btNew btEdit btDelete btSave btCancel btExit Caption Caption Caption Caption Caption Caption Caption Caption Caption Caption 首记录 上记录 下记录 尾记录 新增 修改 删除 保存 取消 退出

CoolBar Panel BitBtn Label Label Edit DBGrid CoolBar1 Panel1 BitBtn1 1blCount 共三个 共三个 DBGrid1 AutoSize Parentl Caption Caption Caption Name ReadOnly DataSource true CoolBar1 搜索 记录数: Edit1、Edit2、Edit3 true DataSource1 表5-3 所需各控件的属性

总分类帐的查询功能的实现

选择File|New|Other菜单命令,弹出New Items窗体,在财务选项卡中选择fmParent选项,单击OK按钮。将其Name属性设置“fmTotalZB”,Caption属性设置为“总分类帐查询”。选择Project|Options…菜单命令,将fmTotalZB窗体从自动创建的窗体列表中删除,并为窗体添加如图控件

图5-8 总分类帐查询

(2)将Panel2d的Align属性设置为“alTop”,并在上面添加一个CheckBox控件和Table控件。各控件的属性设置如图。

控件类型

对象名 属性 取值说明

Table CheckBox Query Table Table1 CheckBox Query1 Table2 ToolButton 灰色的五个 TableName Active Caption DatabaseName DatabaseName TableName Active Enabled dbo.本期汇总帐簿 true 无发生金额不显示 db db dbo.科目表 true false 表5-4 checkbox控件属性

完成明细帐查询功能

选择File|New|Other菜单命令,弹出New Items窗体,在财务选项卡中选择fmParent选项,单击OK按钮。将其Name属性设置“fmDetailZB”,Caption属性设置为“明细帐查询”。选择Project|Options…菜单命令,将fmDetailZB窗体从自动创建的窗体列表中删除,并为fmDetailZB窗体添加如图控件

图5-8 明细账查询

(2)将Panel2的Align属性设置为“alTop”,并在上面添加一个Label控件。各控件的属性设置如表所示。

控件类型

对象名 属性 取值说明

Table Table1 Query Query1 e TableName Active MasterSource MasterFields DatabaseNamSQL Active DataSet Enabled Align Caption DataSouce ToolButton Panel Label DataSouce2 灰色的五个 Panel2 Label4 dbo.本期明细帐簿 true DataSource2 科目代码 db select distinct a.科目代码,b.科目名称from本期明细帐簿as a,科目表 as b where a.科目代码=b.科目代码 order by a.科目代码 true Query1true False alTop 科目 资产负债表报表输出功能实现

(1)新建一个窗体,将其Name属性改为“fmReportZiCh”,Caption属性改为“资产负债表”,并为其添加一个QuickRep和一个Table控件。两个控件属性设置如表所示。

控件类型 Table 对象名 Table1 e QuickRep QuickRep1 TableName Active DataSet Bands ReportTitle 属性 DatabaseNam取值说明 db dbo.资产负债表 true Table HasDetailHasTitle 打印 、(2)在QuickRep1控件的各个Band上分别放置对应的QRSysData控件、QRLabel控件和QRDBText控件,如图所示,其中QRDBText控件DataField属性设置为相应QRLabel的标题。

图5-9 资产负债表

六程序的测试、连编与发行

系统的测试与调试

在应用程序设计和创建的过程中,需要不断地对所设计的菜单、表单、报表等科学试验模块进行测试与调试。通过测试发现问题和纠正错误,并逐步加以完善。

软件在运行过程中可能会产生各种各样的问题,也可能带来不同程度的严重后果。软件测试是保证软件质量的最重要的手段。软件测试的概念IEEE定义为:使用人工可自动手段来运行或测定某个系统过程,其目的在于检验它是否满足规定需求或是弄清预期结果与实际结果之间的差别。

Visual Basic 提供了专门的程序调试器,可用它来设置程序断点、跟踪程序的运行,检察所有变量的值、对象的属性值及环境设置值等。启动程序调试器的方法是执行“工具”菜单下的“调试器”命令,或在命令窗口执行DEBUG命令。

在各程序模块测试达到预定的功能和效果后,就可进行整个程序系统的综合测试与调试。综合测试通过后,便可投入试运行,即把各程序模块连同数据库一起装入指定的应用程序磁盘目录,然后启动主程序开始运行,考察系统的各个功能模块是否能正常运行,是否达到了预定的功能和性能要求,是否能满足用户的需求。试运行阶段一般只需装入少量的试验数据,待确认无误后再输入大批的实际数据。

尽管面向对象技术的基本思想保证了软件应该有更高的质量,但无论采用什么样的编程技术,编程人员的错误都不是可避免的,而且由于面向对象技术开发的软件代码重用率高,更需要严格测试,避免错误的繁衍。因此,软件测试在面

向对象编程里更具有它的重要性。典型的面向对向程序具有继承、封装和多态的新特性,这使得传统的测试策略必须有所改变。封装对数据的隐藏,外界只能通过被提供的操作来访问或修改数据,这样降低了数据被任意修改和读写的可能性,降低了传统程序中对数据非法操作的测试。继承是面向对象程序的重要特点,继承使得代码的重用率提高,同时也使错误传播的概率提高。多态性使得面向对象程序对外呈现出强大的处理能力,但同时却使程序内“同一”函数的行为复杂化,测试时不得不考虑不同类型具体执行的代码和产生的行为。

功能测试:测试是否满足开发要求,是否能够提供设计所描述的功能,是否用户的需求都得到满足。功能测试是系统测试最常用和必须的测试,通常还会以正式的软件说明书为测试标准。

强度测试及性能测试:测试系统的能力最高实际限度,即软件在一些超负荷的情况下,功能实现情况,如要求软件某一行为的大量重复、输入大量的数据、对数据库大量复杂性的查询等。测试软件的运行性能,这种测试常常与强度测试结合进行,需要事先对被测试软件提出性能指标,如传输连接的最长时限、传输的错误率、计算的精度、记录的精度、响应的时限和恢复时限等。

安全测试:验证安装在系统内的保护机构确实能够对系统进行保护,使之不受各种非常的干扰。

打印测试:在人工测试中用的是个人复查,当源程序编完以后,由编写人进行检查,但这种测试方法存在不足之处在于有些习惯性的错误不易发现,如果对功能理解有误,不易纠正,所以在个人复查的基础上又用了机器测试中的白盒测试和黑盒测试。白盒测试:也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试实例,对软件的逻辑路径及过程进行测

试,检查它与设计是否相符。在进行白盒测试时,测试人应在完全了解系统功能、内部结构的前提下对系统进行测试,检查实现的功能与想要实现的设计有什么冲突不符,并及时改正。黑盒测试:也称功能测试,将软件看黑盒子,在完全不考虑的内部结构和特性的情况下,测试软件的外部特性,根据软件的需求规格说明书设计测试实例,从程度的输入和输出特性上测试是否满足设定的功能。在进行黑盒测试时,测试人随意无数次的输入符合条件的数据,检查结果是否与预期相符,如果相符则说明程序对输入的条件反映正确,如果不相符则程序有错,需要修改。

系统的连编

一个应用程序设计完毕后,还必须进行连编,以便最后生成一个可执行文件供最终用户使用。连编不仅能将各个分别创建的程序模块有机地组合一起,从而保证整个系统的完整性和准确性,同时还可以增加程序的保密性。

通常可利用Visual FoxPro提供的项目管理器或应用程序生成器来进行连编,为此可先创建一个项目,并将应用程序所包含的各个组件添加到项目管理器中。一个应用程序系统通常对应着一个应用项目,利用Visual FoxPro开发的数据库应用项目实际上是数据、程序、文档、对象等各种相关文件的集合。Visual FoxPro提供了专门的“项目管理器”来对项目进行管理和维护。“项目管理器”以简便的、直观的方式组织和处理项目中所包含的各类文件。它一方面对项目中的数据和文档进行集中的管理,另一方面借助集成环境使得项目的创建和维护更为方便。

系统的发行

在完成应用程序的开发和连编之后,可利用“安装向导”为应用程序创建安装程序和发行磁盘。其主要步骤如下。

(1)建立发布树

首先需要创建并维护一个独立的只包含要安装文件的目录树,称之为“发布树”。其中包含要复制到用户硬盘上去的所有发布文件。

(2)运行“安装向导”

执行“工具”菜单下“向导”子菜单中的“安装”命令,可启动“安装向导”。“安装向导”共有如下7个操作步骤。

①指定“发布树”的位置。 ②指定应用程序的各个组件。 ③为应用程序指定安装盘类型。

④指定安装过程中的对话框标题以及版权申明等内容。 ⑤指定应用程度的默认文件安装目的地。

⑥显示出将安装的文件名、目的地及其他一些选项,允许对其做修改和调整。

⑦最后单击“安装向导”对话框的“完成”按钮后,系统即将“发布树”中的所有文件进行压缩并把它们分解为与安装盘大小相匹配的文件块,同时生成

因篇幅问题不能全部显示,请点此查看更多更全内容