当前位置:文档之家› VB家庭理财管理信息系统-By_gnksguybb

VB家庭理财管理信息系统-By_gnksguybb

目录

摘要 (3)

Abstract (5)

前言 (6)

第1章 VB数据库开发基础 (7)

1.1数据访问对象模型 (7)

1.2 ODBC (7)

1.3创建数据源 (8)

1.4 ADO Date 数据库 (9)

1.4.1 ADO Data控件的属性 (10)

1.4.2 ADO Data控件的方法 (10)

1.4.3 ADO Data控件的事件 (10)

1.5 Data Combo控件 (11)

1.5.1 Data Combo控件的属性 (11)

1.5.2 Data Combo控件的方法 (12)

1.5.3 ata Combo控件的事件 (12)

第2章数据库的设计 (13)

2.1 概述 (13)

2.1.1 系统功能 (13)

2.1.2设计技巧 (13)

2.2 系统结构 (13)

2.3数据表的设计 (15)

2.3.1 用户及家庭成员信息表的建立 (17)

第3章家庭管理系统 (18)

3.1 系统实现 (18)

3.1.1 公共模块 (19)

3.1.2 登陆界面 (19)

3.1.3 窗体 (20)

3.1.4 定期存款 (21)

3.1.5 日常收支 (21)

3.1.6 查询 (22)

3.1.7 活期存取 (23)

3.1.8 借还帐户 (24)

3.1.9 银行储蓄 (25)

3.1.10分析 (25)

第4章模块与表功能的实现 (26)

4.1 操作查询的实现 (26)

4.2 数据的输入与导入 (26)

第5章菜单设计与访问VB数据库 (28)

5.1 概述 (28)

5.2 菜单创建 (29)

5.3 工具栏的创建 (29)

5.4论述VB数据库 (31)

5.5 用数据库控件访问数据库 (31)

总结 (33)

参考文献 (34)

致谢 (35)

摘要

前言

近几年来,随着我国城乡居民收入的增加和生活水平的提高,家庭理财已成为人们居家过日子的重要内容。社会学家细心的观察到,时下家庭的“小九九”比之计划经济年代,开始发生微妙的变化。现在的城乡家庭生活发生了明显的变化,人们的收入逐渐拉开档次,消费水平也高了。大多数家庭关注的是提高生活质量,一方面精打细算,量入为出,把钱用在刀刃上;另一方面保证适当的娱乐活动、社会交际、智力开发等方面的开支。为此,不少家庭就有中长期财务预算,有基本建设规划。

总的说来,家庭理财必须以量入为出为原则,以财产保值增值为目标,处理好积累和消费的关系。因此,应树立以下四个观念:

第一,资金运动质量观。资金(包括现金,有价证券,存款等)运动,是家庭经济活动的价值反应,家庭理财应管好用活资金,加速资金周转,提高资金利用效果,力争做到结构合理、偿债能力强、经济效益高,家庭财务做为资金的载体,应力争实现其保值增值。

第二,资金使用责任观。家庭财产作为社会资源的一部分,有责任创造社会财富,履行社会责任,为适应我国经济发展的要求,家庭可根据自身状况,适当投资,适度超前消费。

第三,经济效益观。家庭经济生活的基本目标,是在满足生活最佳需要的基础上,实现家庭财力的最大化。因此家庭理财要与经济效益挂钩,必须处理好投入与产出的关系,规避各种经济风险,堵塞各种经济漏洞,增收节支,当好家理好财,不断提高经济效益。

第四,利益协调观。家庭作为社会的细胞,它无疑又是一个利益结合体。从该意义上讲,家庭理财实质就是处理协调家庭内部及与各有关的经济方面的经济利益关系。在理财实践中,要坚持公正、公平、诚实和守信的原则,妥善处理好家庭内部利益关系、家庭与国家及有关经济单位的利益关系。

家庭理财管理是家庭管理的一个重要内容。随着家庭人员收入数量的增加,家庭人员的工资管理工作也变得越来越复杂。工资管理既涉及到家庭成员开销及帐户管理,同时也是家庭财务管理的重要组成部分。工资管理需要和家庭成员相联系,同时也统计每年的开支和收入等来生成家庭内每个人员的基本工资、津贴、医疗保险、保险费、实际发放工资及银行贷款和存储等。资金是组成家庭活动来源和生活保障的主要元素,资金的流动影响到人们生活质量的运作,家庭成员的工资是家庭资金管理的一个重要的组成部分,方便进一步对自己和家人的了解,提高生活水平、改善生活质量。家庭工资管理系统使用电脑安全保存、快速计算、全面统计,实现工资管理的系统化、规范化、自动化。

工资管理系统是典型的信息管理系统(MIS),前台程序开发工具采用VB6. 0,后台数据库采用Access数据库。VB6.0是一种面向对象的开发工具,具有组件丰富、语言简单、功能强大的优点。 Access数据库具有与VB无缝连接、操作简单、易于使用的优点。运行结果表明,本家庭工资管理系统极大提高了工作效率,节省了人力和物力,最终满足家庭财务管理、家庭成员的需要,同时也成为现代化家庭管理的标志。

关键词:工资管理、信息管理、数据查询、数据库、 VB6.0

作者:殷海鸥

指导老师:樊光辉

Abstract

Family Enterprise's wages management is a family management important content. The family management already involves to the enterprise work human management. The family management needs to relate with the personnel management, at the same time connects man-hour of checking attendance and medical insurance and so on, produces the enterprise each staff's base pay, the allowance, the medical insurance, actual provides the wages and so on. The fund is the enterprise survival principal element; the early wages management adopts the material and has the strong time limit. Based on the above reason, the enterprise wages management system management system use computer safely preserves, the rapid calculation, the comprehensive statistics, the realization wages management systematization, the standardization, the automation.

The enterprise wages management system management system is the typical information management system (MIS), The movement result proved that, this enterprise wages management system management system enormously enhanced the working efficiency, finally meets the needs which the enterprise financial control, the staff wages provides, at the same time also becomes the symbol which the modernized enterprise manages.

Key words:Family management information management ; data inquiry ; database;VB6.0

Written by Yin HaiOu

Supervised by Fan GuangHui

前言

Visual Basic是Microsoft公司的重点产品,它具有其它数据库开发工具无法比拟的优势,而且简单易学。

本论文是以实例方式讨论VB开发数据库运行软件的思想和方法。第一章介绍VB开发基础;第二章介绍家庭理财管理信息表的建立;其中包括用户信息表、家庭成员信息表、收入信息表、支出信息表、活期帐户信息表、活期存取信息表、定期存款信息表、借入借出信息表。第三章介绍家庭理财管理模块的创建;包括系统管理、基础数据管理、日常收支管理、银行储蓄管理、借还钱管理、理财分析等六个模块的设计。第四章介绍模块与表功能的实现;包括后台具备数据输入、批量数据导入、修改、删除、查询、权限设置与管理等功能。第五章介绍菜单的设计以及数据库与VB的链接技术及运用。

本论文中对家庭理财管理信息系统的创建工具技巧如下:

公共模块的设计

ACCESS数据库设计方法

VB菜单设计方法

ADO控件设计方法

Data Grid控件设计方法

统一的数据编辑方法

VB报表设计方法

图像数据的存储方法

事件编辑技术

第1章 VB数据库开发基础

VB提供了功能强大的数据库管理功能,能够方便、灵活地完成数据库应用中涉及的查询、修改数据库以及打印等各种操作。本章主要介绍以access为平台的VB数据库系统开发相关知识,为后面几章的数据库应用系统设计打下基础。

1.1数据访问对象模型

ODBC数据库是开放式数据库,包括ODBC标准的客户/服务器数据库,如Microsoft Server、Oracle、Sybase等,VB可以使用支持ODBC标准的数据库。

1.2 ODBC

●ODBC是开放式数据库链接,它能提供访问数据库的单一接口。

●ODBC使客户应用程序的开发可以独立于后端服务器。

●ODBC由如图1.1几部分组成。

图1.1 ODBC的组成

1.3创建数据源

在建立好数据源并在当前服务器上安装相应的ODBC驱动程序,就可以建立应用程序需要的数据源了。

创建一个ODBC数据源:

1.在控制面板中,建立数据源界面。

2.双击“ODBC Date Source”进入ODBC数据源管理器。

图1.2 ODBC 数据源管理器

图1.3 创建新数据源

图1.4 创建Access数据源

1.4 ADO Date 数据库

ADO Date控件它与VB固有的Date控件相似。使用ADO Date控件,可以利用ADO快速建立数据绑定控件和数据提供者之间的连接。

设置ADO 数据控件的连接字符串(Connection String)属性来创建到数据源的连接。这个属性给出了将要访问的数据库的位置和类型。在ADO 数据控件的属性窗口中单击Connection String属性旁的浏览按钮就可以设置这个属性。

使用数据连接文件

这个选项指定一个连接到数据源的自定义的连接字符串,单击旁边的“浏览”按钮可以选择一个连接文件。

使用ODBC数据源名称

这个选项允许使用一个系统定义好的数据源名称(DSN)来作为连接字符串。可以在组合框中的数据源列表中进行选择,使用旁边的“添加”按钮可以添加或修改DSN。

使用连接字符串

这个选项定义一个到数据源的连接字符串。单击“生成”按钮弹出“数据连接属性”对话框,在这个对话框中可以指定提供者的名称、连接以及其它的要求信息。

单击浏览按钮调出属性页窗口,设置连接字符串属性。

ADO Date控件的功能:

?连接本地数据库。

?打开指定的数据库表,或定义基于SQL查询,存储过程数据库表中的视图记录集合。

?添加新记录或显示在绑定的控件中数据库来更新数据库。

1.4.1 ADO Data控件的属性

ADO Data控件的属性如下:

?Align属性

?BOF Action和EOF Action属性

?Connection String属性

?Record Source属性

1.4.2 ADO Data控件的方法

方法Update Controls方法(ADO数据控件),Refresh方法,Set Focus 方法,Drag方法,Move方法,ZOrder方法,ShowWhatsThis方法。

事件EndOfRecordSet(Connection Event)方法(ADO),FetchComplet (RecordsetEvent)方法(ADO),Fetch Progress(RecordsetEvent)方法(ADO),WillChangeField和FieldChangeComplete(Connection Event)方法(ADO),WillChangeRecord和RecordChangeComplete(Connection Event)方法(ADO),Will Move和Move Complete(Connection Event)方法(ADO)。

1.4.3 ADO Data控件的事件

ADO Data控件的事件:

?Will Move 和Move Complete事件

?Will Change Field 和Field Change Complete 事件

?Will Change Record 和Record Change Complete事件

1.5 Data Combo控件

Data Combo控件是以一个下拉列表框的形式提供给用户。它可以和一个具体的数据库中的表、表中的某些项或一段SQL语句相联系,从而在下拉列表框中显示出具体的数据。

Windows 窗体Combo Box 控件用于在下拉组合框中显示数据。默认情况下,Combo Box 控件分两个部分显示:顶部是一个允许用户键入列表项的文本框。第二部分是一个列表框,它显示一个项列表,用户可从中选择一项。有关组合框的其他样式的更多信息,请参见何时使用Windows窗体Combo Box而非List Box。

Selected Index属性返回一个整数值,该值与选择的列表项相对应。通过在代码中更改Selected Index值,可以编程方式更改选择项;列表中的相应项将出现在组合框的文本框部分。如果未选择任何项,则Selected Index值为 -1。如果选择列表中的第一项,则Selected Index值为 0。Selected Item属性与Selected Index 类似,但它返回项本身,通常是一个字符串值。Count属性反映列表的项数,由于Selected Index是从零开始的,所以Count属性的值通常比Selected Index 的最大可能值大一。

若要在Combo Box控件中添加或删除项,请使用Add、Insert、Clear 或Remove 方法。或者,可以在设计器中使用Items 属性向列表添加项。

1.5.1 Data Combo控件的属性

Data Combo控件的属性如下:

◆Date Source 属性

◆Date Field 属性

◆Row Source属性

◆List Field 属性

其操作步骤如下:

1)在家庭理财管理信息系统中添加一个窗体Form1.

2)在该窗体中添加一个ADO控件Adodc1,其属性设

置如下:

Connection String =”Stud”

Record Source =”Select * from student”

User Name=”s a”

DTPicker1.V alue=MSHFlexGrid1.TextMatrix (MSHFlexGrid1.Row, 1)

Combo1.Text=MSHFlexGrid1.TextMatrix (MSHFlexGrid1.Row, 2)

1.5.2 Data Combo控件的方法

Data Combo控件的常用方法为Refresh方法,该方法用于刷新Data Combo 控件的数据源。

Combo Box控件使用data Provider定义下拉列表的值。data Provider的类型可以是Array、XML或者是ICollectionView。这里month Combo的data Provider是一个包含十二个月份的Array。我们看到,month Combo的Text Input 区域和下拉列表中都显示的是Array中每个Object的label字段的值。

1.5.3 ata Combo控件的事件

Data Combo控件的事件如下:

1)Lost Focus事件

2)Click 事件

第2章数据库的设计

2.1 概述

数据库设计( Database Design)是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,使之能够有效地存储数据,满足各种用户的应用需求。这篇专题主要针对数据库的设计原则与开发技巧进行了扼要的总结。

2.1.1 系统功能

系统功能如下:

1)家庭成员可以根据帐户信息来进行取款记录

2)对定期存储、取款、日常收支等功能进行理财分析并用图标表示

3)对家庭工资还可以进行定期查询、删除、更新等操作功能

2.1.2设计技巧

设计技巧如下:

1)公共模块

2)VB菜单设计方法

3)统一的数据编辑设计方法

4)图像数据的存取方法

5)事件编程技术

6)数据库基础知识

2.2 系统结构

本系统对应的工程,它包含的所有文件及结构如下:

图2.1 系统结构组成

[3] https://www.doczj.com/doc/1316774728.html,/xinshijiyulecheng/

[4] https://www.doczj.com/doc/1316774728.html,/dafatiyu/

图2.2 家庭理财管理系统.vbp 工程

窗体

Fix List 窗体

Intake 窗体

2.3数据表的设计

数据库表设计原则:

1)不应该针对整个系统进行数据库设计,而应该根据系统架构中的组件划分,针对每个组件所处理的业务进行组件单元的数据库设计;不同组件间所对应的数据库表之间的关联应尽可能减少,如果不同组件间的表需要外键关联也尽量不要创建外键关联,而只是记录关联表的一个主键,确保组件对应的表之间的独立性,为系统或表结构的重构提供可能性。

2)采用领域模型驱动的方式和自顶向下的思路进行数据库设计,首先分析系统业务,根据职责定义对象。对象要符合封装的特性,确保与职责相关的数据项被定义在一个对象之内,这些数据项能够完整描述该职责,不会出现职责描述缺失。并且一个对象有且只有一项职责,如果一个对象要负责两个或两个以上的职责,应进行分拆。

3)根据建立的领域模型进行数据库表的映射,此时应参考数据库设计第二范式:一个表中的所有非关键字属性都依赖于整个关键字。关键字可以是一个属性,也可以是多个属性的集合,不论那种方式,都应确保关键字能够保证唯一性。在确定关键字时,应保证关键字不会参与业务且不会出现更新异常,这时,最优解决方案为采用一个自增数值型属性或一个随机字符串作为表的关键字。

4)由于第一点所述的领域模型驱动的方式设计数据库表结构,领域模型中的每一个对象只有一项职责,所以对象中的数据项不存在传递依赖,所以,这种思路的数据库表结构设计从一开始即满足第三范式:一个表应满足第二范式,且属性间不存在传递依赖。

5)同样,由于对象职责的单一性以及对象之间的关系反映的是业务逻辑之间的关系,所以在领域模型中的对象存在主对象和从对象之分,从对象是从1-N 或N-N的角度进一步主对象的业务逻辑,所以从对象及对象关系映射为的表及表关联关系不存在删除和插入异常。

6)在映射后得出的数据库表结构中,应再根据第四范式进行进一步修改,确保不存在多值依赖。这时,应根据反向工程的思路反馈给领域模型。如果表结构中存在多值依赖,则证明领域模型中的对象具有至少两个以上的职责,应根据第一条进行设计修正。第四范式:一个表如果满足BCNF,不应存在多值依赖。

7)在经过分析后确认所有的表都满足二、三、四范式的情况下,表和表之间的关联尽量采用弱关联以便于对表字段和表结构的调整和重构。并且,我认为数据库中的表是用来持久化一个对象实例在特定时间及特定条件下的状态的,只是一个存储介质,所以,表和表之间也不应用强关联来表述业务(数据间的一致性),这一职责应由系统的逻辑层来保证,这种方式也确保了系统对于不正确数据(脏数据)的兼容性。当然,从整个系统的角度来说我们还是要尽最大努力确保系统不会产生脏数据,单从另一个角度来说,脏数据的产生在一定程度上也是不可避免的,我们也要保证系统对这种情况的容错性。这是一个折中的方案。

8)应针对所有表的主键和外键建立索引,有针对性的(针对一些大数据量和常用检索方式)建立组合属性的索引,提高检索效率。虽然建立索引会消耗部分系统资源,但比较起在检索时搜索整张表中的数据尤其时表中的数据量较大时所带来的性能影响,以及无索引时的排序操作所带来的性能影响,这种方式仍然是值得提倡的。

9)尽量少采用存储过程,目前已经有很多技术可以替代存储过程的功能如“对象/关系映射”等,将数据一致性的保证放在数据库中,无论对于版本控制、开发和部署、以及数据库的迁移都会带来很大的影响。但不可否认,存储过程具有性能上的优势,所以,当系统可使用的硬件不会得到提升而性能又是非常重要的质量属性时,可经过平衡考虑选用存储过程。

10)当处理表间的关联约束所付出的代价(常常是使用性上的代价)超过了保证不会出现修改、删除、更改异常所付出的代价,并且数据冗余也不是主要的问题时,表设计可以不符合四个范式。四个范式确保了不会出现异常,但也可能由此导致过于纯洁的设计,使得表结构难于使用,所以在设计时需要进行综合判断,但首先确保符合四个范式,然后再进行精化修正是刚刚进入数据库设计领域时可以采用的最好办法。

11)设计出的表要具有较好的使用性,主要体现在查询时是否需要关联多张表且还需使用复杂的SQL技巧。

12)设计出的表要尽可能减少数据冗余,确保数据的准确性,有效的控制冗余有助于提高数据库的性能。

在系统中设计了数据库KSD,其中包含如下数据表:

例如:活期存取表,包括账号、日期、姓名等。

图2.3 活期存取表

2.3.1 用户及家庭成员信息表的建立

利用Access基础知识,对表建立,例如:数据类型、字段名称。

图2.4 家庭成员表的建立

第3章家庭管理系统

3.1 系统实现

本章介绍家庭管理系统组成部分的实现方法。对于窗体、给出执行功能、设计界面、主要对象和方法。以及公共模块和系统的最终运行。

本工程中引用了一些ActiveX控件等,在设计时选择“工程”菜单中“引用”选项,从引用列表中选择如下选项:

图3.1 引用——家庭管理信息系统.vbp工程

再选择“工程”菜单中的“部件”选项,从控件列表中选中如下选项:

图3.2 部件

若找不到,则单击“浏览”按钮,出现“添加ActiveX控件”对话框,

选择Windows\System文件夹中的MsComctl .ocx文件即可。

3.1.1 公共模块

本工程中包含一个公共模块即Module1.Bas模块,其中包含一些全局变量和过程(被本工程中的一些窗体所调用),代码如下:

Public Str_path as String

Public Cname As String '登陆时传用户名

Public Cdate1 As String '传日期(收入情况列表)

Public Cdate2 As String '传日期

Public AA As Boolean '判断是否选择月份

Public Function exesql (ByV al sql As String) As ADODB. Recordset’用于执行用户给定的SELECT语句,返回对应的记录集:

Dim Stokens() As String '数组'

On Error GoTo executesql_error

Stokens = Split(Sql) '将sql语句按关键字保存在数组中

Set Cnn = New ADODB.Connection

Cnn.Open Connectstring

IfInStr ("INSERT, DELETE, UPDA TE", UCase$(Stokens (0))) Then

Cnn.Execute Sql

Msgstring = Stokens(0) & "查询成功"

Else

Set Rst = New ADODB.Recordset

Rst.OpenTrim$(Sql),Cnn,adOpenKeyset, adLockOptimistic '重服务器中提取符合要求的记录集

Set ExeCutesql = Rst

Msgstring = "查询到" & Rst.RecordCount & "条记录"

End If

executesql_exit:

Set Rst = Nothing '释放记录集

Set Cnn = Nothing '释放连接语句

Exit Function

executesql_error:

Msgstring = "查询错误:" & Err.Description

Resume executesql_exit

End Function

3.1.2 登陆界面

首先,客户先进入登陆界面,输入用户名和密码。输入期限最多三次。若输入错误或密码记错,会有信息框提示;若不是本人,可以先注册然后登陆;同时也可以修改密码等。

图3.3 登陆界面

3.1.3 窗体

窗体用于接受用户名/口令输入,不断是否为合法。如果是合法用户,释放该窗体并启动main窗体;否则释放该窗体不启动main窗体。

Main窗体是一个多文档窗体,该窗体中包含对象和功能如图所示。该窗体上设计了六个菜单及其子菜单如图所示。从工具栏中截取了十一个彩色图标,它代表着窗体的各个功能,它包括:项目管理、添加家庭成员、修改密码、数据的保存系统、日常收入和支出、活期存款、理财汇报、查询、退出功能。下面分节详细介绍。

图3.4 家庭理财管理信息系统——多文档窗体

相关主题
文本预览
相关文档 最新文档