1、精品文档就在这里-各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有-湖 南 农 业 大 学学 士 学 位 论 文家庭财务管理系统Personal Finance Manager System学生姓名:王兰红学 号:200421801531年级专业:二级计算机科学与技术指导老师:朱幸辉学 院:计算机与信息工程学院湖南长沙提交日期:2006年5月目 录1概 述32系统需求分析521 开发环境522 开发工具简介5221 Visual Basic与其他数据库开发工具的对比5222 Visual Basic 的三种版本介绍623 系统运行环境7231 软件环境需求7232 硬件环
2、境需求73系统介绍831 面向对象编程介绍83.2 数据库开发103.2.1 A D O103.2.2 O D B C113.2.3 S Q L134.系统概要设计174.1 系统流程图174.2 系统功能结构图184.3 数据库E-R图194.4 数据表字段设置表195.系统详细设计实施215.1 初始化模块文件设计215.2 登录界面与主界面设计225.3 系统基本设置模块设计385.4 数据导入及图表分析设计435.5 搜索模块设计475.5.1 按收入/支出,转入/转出搜索475.5.2 按收入支出类型搜索485.5.3 按发生金额搜索515.5.4 按发生日期或录入日期搜索536.总
3、结55参考文献56致谢57家庭财务管理系统作 者: 王 兰 红指导老师: 朱 幸 辉(湖南农业大学计算机与信息工程学院02级计算机科学与技术,长沙410128)【摘 要】: 家庭财务管理系统就是我们常说的管理信息系统MIS(Management Information System)中的一种,它是一个计算机软硬件资源以及数据库的人-机系统。随着信息技术,计算机技术的发展,在社会各领域都已经离不开信息系统的支持。家庭财务管理系统针对个人用户设计,是一个单用户系统,它提供各全方位的财务数据统计、数据查询、数据打印,方便个人理财,做出正确的财务决策。【关键词】:财务管理系统,面向对象编程,财务决策,
4、个人理财,VB数据库开发Personal Finance Manager SystemAuthor:WanglanhongTutor :Zhuxinghuei(College of Computer and Information Engineering, Hunan Agricultural University, Changsha 410128)Abstract:Personal Finance Manager system is a kind of MIS(Management Information System)which we often refer. It is a Man-Ma
5、chine System system of computer software and hardware resource and database. As the development of information technology and computer technology, we can not depart from the support of information system.Personal Finance Manager systems design aims at personal consumer.It is a single consumer system
6、. It has finance data statistic data inquiry and date printing.It is convenience for personal financing and make correct decision.Key words: Finance Manager system, Object Oriented Programming, financine decision, personal financing, VB database exploitation1概 述在社会经济不断发展的今天,人们生活水平越来越高,个人合理理财也变得越来越重要
7、,它直接影响着人们的生活。各种财务管理软件也层出不穷,本系统仅应用于个人理财,提供财务数据统一管理,以便做出合理的财务决策。其界面友好,操作简单,除具备基本的财务信息管理外,还提供了数据统计,数据查询,图表统计,报表打印等。为方便操作,设置有部分常用功能快捷工具栏,菜单项都设置有快捷键。它多方面把握用户的财务情况,科学的统计数据。本系统可根据使用者的实际情况,设置收入、支出类型,以适应社会不同阶层,不同行业人士的应用。本软件为单用户系统,没有权限设置,更保证了数据的安全性。数据分为两大模块,即收支明细和转账明细,详细反映了各经济业务,往来账的情况。本家庭财务管理系统的主要功能有:l 用户管理:
8、即使用者资料管理,主要功能为登录系统用户名和密码的修改,用户基本资料的设置。l 收支类型设置:即根据使用者实际情况设置收入和支出的项目名称,如收入类型有:工资、补贴、股票收入等,反映经济来源的详细情况。如支出类型有:电话费、伙食、购物、水电费等,详细反映资金的花费去向,花费时间,发生金额等。l 快捷调用Windows提供的“记事本”和“计算器”。方便用户进行日志记载和财务计算操作。l 数据维护:即各项经济业务数据的增加、编辑、删除操作。收支明细和转账明细分开操作,根据当前标签显示的数据所属模块自动判断操作数据对象。且可通过双击数据列表,对当前数据进行编辑修改。l 数据导入及图表统计功能:通过导
9、入功能可以获取外部数据,以达到添加数据的目的,如Excel电子表格数据的导入,分为收支数据和转账数据的导入。图表统计是指用立方图的形式显示数据量,分别显示收入、支出、转入、转出图例,使统计数据的查看更加直观。l 数据查询功能:该功能根据标签当有显示的是收支明细还是转账明细判断查询功能。查询条件可根据收入/支出、收支类型、转入/转出、发生金额、发生日期、录入日期查询。查询结果显示在标签的相应数据表格中,以便对其进行操作维护。其中发生日期和录入日期以及发生金额可根据区间查询。l 数据统计:统计总收入额、总支出额、总转出额、总转入额,根据总的收支,转账额计算统计余额。l 报表打印:即提供数据的打印输
10、出。2系统需求分析21 开发环境 开发工具:Visual Basic6.0 开发环境:WindowsXP + MS Access200022 开发工具简介VB6.0作为Visual Studio家族中的一员,以其开发速度快、使用简单而被广泛使用。Visual Basic是一种编译解释性的语言,在调试状态时,VB是解释执行的,每当执行到一个函数时才对这个函数进行语法分析、语义分析,通过后才生成中间代码解释执行,有利用初学者使用。VB允许直接使用未被声明的变量,可以在每个文件的头部加上Option Explicit关键字,来启用强制变量声明。VB所开发的程序最大的标志是需要msvbvm60.dll
11、这个库文件的支持。221 Visual Basic与其他数据库开发工具的对比1、 Visual Basic与Visual C+的对比VB与其家族中的老大VC相比,总体差距确实很明显。但具体到数据库开发方面,VB有其独到的优势。VB在这方面所具备的优势就是快速、简单和功能完备。一个有经验的程序员,在需求和设计都已完成的情况下,如果只是编码和调试,使用VB大约不到一周就可以开发出一个功能比较完备的管理信息系统,而如果使用VC,则时间很难确定,而且这样做的人并不是很多,除非是出于某些特殊需要。2、 Visual Basic与Visual FoxPro的对比Visual FoxPro主要面向中小型的开
12、发,它凭借着自带数据库的优势,应用比较广泛,但从程序执行效率和通用性角度考虑,更多的人倾向于使用VB,因为一个系统不仅仅就操纵数据库这么简单,它还包括界面设计及其他必要信息的获取与输出,在这方面,VB相对占有更多的优势。3、 Visual Basic与Delphi的对比Delphi在系统开发方面同样具有快速、简单的优势。而且Delphi的编译器是公认最强的,至少强于VB,在做界面与其他控制方面,也似乎要超过VB。但不可否认,VB的简单性与Visual Studio开发环境的方便性,又为VB赢得了不少用户。总之,VB更大众一些,更易于学习,而Delphi更为严谨,适合开发更大或要求更高的管理信息
13、系统。222 Visual Basic 的三种版本介绍1、Visual Basic 学习版使编程人员轻松开发 Windows 和 Windows NT(R) 的应用程序。该版本包括所有的内部控件以及网格、选项卡和数据绑定控件。2、专业版为专业编程人员提供了一整套功能完备的开发工具。该版本包括学习版的全部功能以及 ActiveX 控件、Internet Information Server Application Designer、集成的 Visual Database Tools 和 Data Environment、 Active Data Objects、和 Dynamic HTML Pa
14、ge Designer。3、企业版使得专业编程人员能够开发功能强大的组内分布式应用程序。该版本包括专业版的全部功能以及 Back Office 工具,例如 SQL Server、Microsoft Transaction Server、Internet Information Server、Visual SourceSafe、SNA Server,以及其他。三种版本,可以满足不同开的开发需要。23 系统运行环境 231 软件环境需求 运行于Microsoft Windows98版本以上操作系统。 232 硬件环境需求 基本配置: CPU:300 MHz; 内存:32 M以上; 硬盘:3.6 G
15、B。 建议配置: CPU:Pentium 550 MHz 以上; 内存:64 M 以上; 硬盘:10 GB 以上。3系统介绍31 面向对象编程介绍面向对象(Object-Oriented,OO)方法是一种非常实用的软件开发方法,他一出现就受到软件技术人员的青睐,现已经成为计算机科学研究的一个重要领域,并逐渐成为软件开发的主要方法。面向对象方法以客观世界中的对象为中心,起分析和设计思想符合人们的思维方式,分析和结果与客观世界的实际比较接近,容易被人们所接受。 本系统就是使用面向对象的开发语言Visual Basic6.0开发环境,自然就应当采用面向对象的相关方法来分析和设计系统;再者,把系统中的
16、实体对象化,使分析和设计的结果更容易让人理解。对象使数据和过程相结合:Peter Coad 和 Edward Yourdon 提出下列等式识别面向对象方法:面向对象=对象(Object)+ 分类(classification)+ 继承(inheritance)+ 消息通信(communication with message)(1) 对象:在计算机系统中,对象是指一组属性以及这组属性上的专用操作的封装体。属性可以是一些数据,也可以是另一个对象。每个对象都有它自己的属性值,表示该对象的状态。对象中的属性只能通过该对象所提供的操作来存取或修改。操作也称为方法或服务,它规定了对象的行为,表示对象所能
17、提供的服务。一个对象通常可由对象名、属性和操作三部分组成。(2) 类:类是一组具有相同属性和相同操作的对象的集合。一个类总的每个对象都是这个类的一个实例(Instance)。(3) 封装性:封装是一种信息隐蔽技术,用户只能看到对象封装界面上的信息,对象的内部实现对用户是隐蔽的。也就是说要将对象的信息(也就是对象的属性)和对象所能执行的动作(也就是对象的方法)包装起来,这样就可以让使用者可以用深入不了解内部的运作原理,就可以对其进行操作。例如:在vc中我们要使用的一个控件,我们不必了解其中给一个属性是怎样传给对象的,也不要知道当我们调用一个对象控件的方法时,对象在其中为我们作了些什么,我们所要作
18、的仅仅是要符合它的使用规范对其进行简单的使用即可。封装的目的是使用者和生产者分离,使对象的定义和实现分开。(4) 继承:继承是类间的一种基本关系,是在某个类的层次关联中不同的类共享属性和操作的一种机制。一个父类可以有多个子类,这些子类都是父类的特例,父类描述了子类的公共属性何操作。一个子类可以继承它的父类总的属性和操作,这些属性和操作在子类中不必定义,子类中还可以定义自己的属性和操作。子类只有惟一的一个父类,这种继承成为单一继承。一个子类也可以有多个父类,可以从多个父类中继承特性,这种继承称为多重继承。(5) 消息:消息是对象间通信的手段,一个对象通过向另一对象发送消息来请求其服务。消息只告诉
19、接收对象需要完成什么操作,但并不指示接收者怎样完成操作。消息完全由接收者解释,接收者独立决定采用什么方法来完成所需的操作。多态性:多态性是指同一个操作作用于不同的对象可以有不同的解释,并产生不同的执行结果。与多态性密切相关的一个概念就是动态绑定。传统的程序设计语言把过程调用与目标代码的连接放在程序运行前进行(称为静态绑定),而动态绑定则是把这种连接推迟到运行时才进行。在一般与特殊关系中,子类是父类的一个特例,所以父类对象可以出现的地方,也允许其子类对象出现。因此再运行过程中,当一个对象发送消息请求服务时,要根据接收对象的具体情况将请求的操作与实现的方法进行连接,即动态绑定。3.2 数据库开发3
20、.2.1 A D OADO 是为 Microsoft最新和最强大的数据访问范例 OLE DB 而设计的,是一个便于使用的应用程序层接口。OLE DB 为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等等。ADO 在关键的 Internet 方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。之所以称为 ADO,是用了一个比较熟悉的暗喻,OLE 自动化接口。同时 ADO 使用了与 DAO和 RDO相似的约定和特性,简化的语义使它更易于学习。在 Visual Basic 中,可用的数
21、据访问接口有三种:ActiveX 数据对象(ADO)、远程数据对象(RDO) 和数据访问对象(DAO)。数据访问接口是一个对象模型,它代表了访问数据的各个方面。使用 Visual Basic,可以在任何应用程序中通过编程控制连接、语句生成器和供使用的返回数据。为什么在 Visual Basic 中有三种数据访问接口呢?因为数据访问技术总是在不断进步,而这三种接口的每一种都分别代表了该技术的不同发展阶段。最新的是 ADO,它是比RDO和 DAO 更加简单,然而更加灵活的对象模型。对于新工程,应该使用 ADO 作为数据访问接口。若要在 Visual Basic 中对 ADO 2.0 对象进行访问,
22、可设置对合适的 ADO 类型库的访问。有两种 ADO 类型库。一种叫 ADODB,包含在 MSADO15.DLL 中。它以“Microsoft ActiveX Data Objects 2.0 Library”出现在“引用.”对话框(可从“工程”菜单中得到)中。另一种叫做 ADOR,包含在 MSADOR15.DLL 中。它以“Microsoft ActiveX Data Objects Recordset 2.0 Library”出现在“引用.”对话框中。在两种类型库中,第一种类型库 (ADODB) 更大,具有更多功能;它包含了主要的 ADO 对象,而且是您可能在大多数情况下希望使用的。第二种
23、是只支持记录集的 ADODB 类型库的一个“轻量”子集。如果您只想操作记录集的话,那么可以选择使用该类型库。ADO一旦打开了数据库连接,您就可以对其运行一个查询。下面的事件过程和先前的 RDO 代码是非常相似的。不过,在这种情况下,您用进行 SQL 查询的新 ADO Open 方法和 ADO Connection 对象作为参数,而不是使用 rdoConnection 对象的 OpenResultset 方法。您也可以选择使用 ADO Connection 对象的 Execute 方法,就象您可以在 RDO 中所做的那样(只要它不返回一个行集合)。ADO2 和 RDO2 相比,一个主要的不同之处
24、在于 ADO2 允许您创建一个记录集,并在打开该记录集之前对其属性进行设置。Private Sub RunButton_Click() Dim rs As New ADODB.Recordset rs.Open select * from titles where title like %h, cn ADOGrid1.ShowData rs rs.CloseEnd Sub您可以运行该查询,并在 ADO 中异步地处理其结果集。也就是说,you specify the adFetchAsynch option on rs.Open,ADO 导致游标驱动程序自动充填背景中的结果集。3.2.2 O D
25、 B C开放式数据库的连接性。是一种应用程序接口 (API) 规范,它定义了一个标准例程集,使用它们应用程序可访问数据源中的数据。应用程序通过引用 API 的函数可以直接使用 ODBC,或利用数据访问对象 (DAO) 或远程数据对象 (RDO) 来使用 ODBC。作为数据源使用的数据库或数据库服务器。ODBC 数据源通过它们的数据源名称来引用,或者通过具体引用 ODBC 驱动程序和服务器名称来引用。可以在 Windows 的控制面板中使用 ODBC 管理程序或 rdoRegisterDataSource 方法来注册命名的数据源。为了告诉 ODBC 驱动程序管理器要使用什么驱动程序,并告诉选定的
26、驱动程序使用什么数据源,代码必须以连接字符串或 RemoteData 控件属性设置的形式提供若干参数。在绝大多数情况下,连接字符串用于将 RDO 指定到特定的服务器、数据库及其用户。连接字符串中包括一系列的参数,互相之间用分号隔开,这些参数由 ODBC 接口定义,也包括 ODBC 驱动程序本身。就是说,所有的 ODBC 驱动程序都有特定的参数要求,因此必须参阅驱动程序所包含的文档以获取特定信息。该连接字符串将和所关联的 rdoEnvironment 对象的 hEnv 一道传递到 ODBC API 的 SQLDriverConnect 函数。ODBC 连接字符串ODBC 连接字符串参数参 数 的
27、 意 义DSN=已注册的 ODBC 数据源名称。如果使用 DRIVER 关键字,则不用 DSN。UID=建立于服务器上的用户名。在 SQL Server 中是登录名。PWD=与登录名对应的密码。DATABASE=所请求的缺省数据库(任选项)。SERVER=数据源服务器的网络名称。在 Microsoft Windows NT 计算机上,(local) 可以作为服务器被输入。在这种情况下,可以使用 SQL Server 的本地副本。即便是非网络版本也可以。DRIVER=数据源驱动程序的名称。Microsoft SQL Server 使用 SQL Server。如果使用 DSN 关键字,则不用 DR
28、IVER。APP=应用程序名(任选的)。WSID=工作站 ID。通常,这是应用程序所在的机器的网络名称(任选)。LANGUAGE=SQL Server 使用的国家/地区语言(任选)。3.2.3 S Q L结构化查询语言 (SQL) 是 ANSI 标准,Visual Basic 也遵从该标准。存入表和数据库中的日期,使用的是英语美国格式(月日年)。Microsotft Jet 数据库引擎也采用这种格式。如果使用非美国日期格式,用这些字段查寻时可能返回错误的记录或没有记录返回。定义结构查询语言 (SQL) 命令的表达式,例如 SELECT、UPDATE 或 DELETE,也可能包括像 WHERE
29、和 ORDER BY 这样的子句。SQL 字符串语句一般在查询和 rdoResultset 对象中使用,但也可以用来创建或修改数据库结构。SQL 语句的语法与数据源有关。SQL 编辑器 (SQL Editor) 允许在 Visual Basic 开发环境下,创建和编辑 SQL Server和 Oracle 中的存储过程及触发器。存储过程允许您管理基于服务器的数据库,并且显示该数据库以及其用户的有关信息。例如,可以使用一个存储过程来显示 authors 表中的每个作者的主题(从 titles 表)和出版商(从 publishers 表)。存储过程可以包含程序流、逻辑和对该数据库的查询。它们可以接
30、受参数、产生参数、返回单个或多个结果集和返回值。对于任何需要用到 SQL 语句的情况,都可以使用存储过程,而且可以带来以下优点: 可以在一个存储过程中执行一系列的 SQL 语句。可以在您的存储过程中引用其它的存储过程,这样能够简化一系列复杂的语句。当存储过程创建后,它是在服务器上被编译的,因此存储过程执行起来比单个 SQL 语句要快。已编译的存储过程同样可以存储在高速缓存中,以便更快速地执行。SQL编辑器中的触发器是一类特殊的存储过程,当您使用一个或多个数据修改操作,如 UPDATE、INSERT 或 DELETE,在一个指定的表中修改数据时,它开始生效。触发器可以查询其它表,并且可以包括复杂
31、的 SQL 语句。它们对于实施复杂业务规则或需求是非常有用的。例如,您可以控制在某个客户的当前帐号状态下,是否允许插入一个订单。触发器对于实施参照完整性也很有用,参照完整性保留了当添加、更新、或者删除一些表中的行时,这些表之间的定义关系。然而,实施参照完整性的最好方法是在相关的表中定义主键和外部键约束。如果使用数据库图表,可以创建表之间的一个关系来自动创建一个外部键约束。触发器在以下方面非常有用: 触发器是自动的:表中的数据经过任何修改,无论是手工输入或应用程序的动作引起的数据修改,它们都立刻被激活。触发器能够通过数据库的相关表引起连锁更改。例如,可以对 titles 表的 title_id
32、列写一个删除触发器,而引起删除其它表中的匹配行。该触发器使用 title_id 列作为一个唯一键,在titleauthor、sales 和 roysched 表中定位匹配的行。触发器可以实施那些比用检查约束定义的约束复杂很多的约束。与检查约束不同,触发器可以引用其它表中的列。例如,如果某个更新企图对价格低于 $10 的书(储存在 titles 表中)打折扣(储存在 discounts 表中),那么触发器可以回卷该更新。VB中SQL属性:SQL 属性包含结构查询语言语句,用以确定当运行查询时如何对行进行选择、分组、和排序。可以使用一个包括在 rdoResultset 对象中的选择行的查询。也可以
33、定义动作查询修改数据而不返回行。在设计时不能为 SQL 属性提供表名。不过,可以使用象 SELECT * FROM 那样的简单查询,也可以在运行时移居 rdoTables 集合和使用返回在集合中的一个表名。只要 rdoTables 集合与一个活动的连接相关并被引用,它马上就被移居。在查询中使用的 SQL 语法必须适合由数据源查询处理器定义的 SQL 语言。由ODBC 接口支持的该 SQL 语言是由 X/Open 标准定义的。一般来说,驱动程序扫描一个 SQL 语句,寻找指定的转义代码 序列,该换码序列用于标识象时间标记的文字和函数那样的非标准的操作对象。当需要从查询中返回行时,一般在SQL属性
34、中提供一个 SELECT 语句。该 SELECT 语句指定: 要返回的每个列的名字或者 *,以用来指示被指定表的所有列都要被返回。必须包含必要的表名来对混淆的列名进行定位。也可以指定集合表达式对所选的那些列进行算术或其它函数的操作。需要用于搜索信息的每个表的名称。如果指定一个以上的表,就必须指定一个 WHERE 子句来指出哪些列是用于表中的交叉引用信息。一般来说,这些列具有相同的名称和含义。例如,也许要引用 Customers 表和 Orders 表中的 CustomerID 列。(是可选的)一个 WHERE 子句指定如何联结指定的表和如何限制或过滤返回行的数目及类型。可以使用 WHERE 子
35、句中的参数指定从查询到查询的不同的信息集。(是可选的)其它子句,诸如对行设置特定的顺序的 ORDER BY 子句,或结构化在相关集中的行的GROUP BY 子句。如果查询的 SQL 语句中包含有问号参数标记(?),那么在运行该查询之前必须先提供这些参数。在重新设置这些参数之前,每次执行该查询都提供相同的参数值。为了使用rdoParameters集合以管理 SQL 查询参数,必须在 SQL 语句中包括“?”参数标记。输入、输出、输入/输出以及返回值参数都必须按这种方式标识。在某些情况下,必须使用Direction属性指定如何使用该参数。所有由 Jet 查询处理器来执行的查询都必须按照 Jet S
36、QL 语法来书写。但是 Jet 的 SQL 语法与服务器使用的 SQL 语法并不总是完全相同的。不管将要访问什么样的数据库,Jet 的 SQL 语言总是一致的。这一特性极大地提高了代码的可移植性和无缝地访问异种数据的能力。按照缺省规定,一旦执行 DAO 查询就调用 Jet 查询处理器。也就是说,除非使用 Execute 或 OpenRecordset 方法的 dbSQLPassThrough 选项,或者创建 SQLPassThrough QueryDef 对象,否则 Jet 查询处理器就会进行语法分析并执行该查询的 SQL 语法,并要执行在工作站和远程服务器上完成该查询所要求的所有操作。SQL
37、 属性示例例如,运行一个过程,它接受两个输入参数,返回一个返回值及一个输出参数,可以使用下列代码。该例创建一个 rdoQuery 对象,其 SQL 属性被置为由 QSQL$ 指定的字符串。该查询接受两个输入参数,调用一个存储过程,返回一个返回状态,及一个输出参数。Dim Cqy as new rdoQueryDim MyRs as rdoResultsetCqy.SQL = ? = call sp_MyProc (?, ?, ?) Cqy(0).Direction = rdReturnValueCqy(1).Direction = rdParamInputCqy(2).Direction =
38、rdParamInputCqy(3).Direction = rdParamOutputCqy(1) = VictoriaCqy(0) = 21Set MyRs = Cqy.OpenResultSet(rdOpenForwardOnly)4.系统概要设计4.1 系统流程图登录验证用户登录程序开始N数据添加数据编辑数据删除退出程序程序主界面Y数据维护数据查询录入日期发生日期发生金额转入转出收支类型收入支出N删除确认图表分析数据导入 Y数据打印4.2 系统功能结构图按录入日期按发生日期按发生金额收支类型搜索转入转出搜索收入支出搜索搜索打印数据数据图表分析数 据数据导入转账数据导入收支数据导入编辑数
39、据删除数据添加数据退出记事本系 统计算器设置支出类型设置用户设置收入类型设置主界面退出用户登录关于序号4.3 数据库E-R图收支说明录入日期备 注发生金额收支明细发生日期收支类型收入/支出收支明细表E-R图登录密码转账日期转账说明备注序号转账明细录入日期转入/转出转账金额性别登录名年龄用户姓名地址电话号码转账明细E-R图用户表E-R图4.4 数据表字段设置表1. 收支明细表序号字段名数据类型宽 度1序号文本52收入支出文本63收支类型文本124收支说明文本405发生金额数字单精度型6发生日期日期/时间7录入日期日期/时间8备注文本502. 收入类型表序号字段名数据类型宽 度1项目文本123.
40、转账明细表序号字段名数据类型宽 度1序号文本52转入转出文本63转账金额数字单精度型4转账说明文本405转账日期日期/时间6录入日期日期/时间7备注文本504. 支出类型表序号字段名数据类型宽 度1项目文本125. 用户表序号字段名数据类型宽 度1Username文本122userPWD文本163姓名文本104性别文本45年龄文本36电话号码文本147地址文本505.系统详细设计实施5.1 初始化模块文件设计初始化文件initialize.bas初始化主界面中两个DataGrid控件列显示宽度。Public Sub dg1() 收支明细数据显示网格Form_main.DataGrid1.Col
41、umns(0).Width = 500Form_main.DataGrid1.Columns(1).Width = 800Form_main.DataGrid1.Columns(2).Width = 900Form_main.DataGrid1.Columns(3).Width = 1700Form_main.DataGrid1.Columns(4).Width = 1100Form_main.DataGrid1.Columns(5).Width = 900Form_main.DataGrid1.Columns(6).Width = 1100Form_main.DataGrid1.Column
42、s(7).Width = 1800End SubPublic Sub dg2()转账明细数据显示网格Form_main.DataGrid2.Columns(0).Width = 500Form_main.DataGrid2.Columns(1).Width = 900Form_main.DataGrid2.Columns(2).Width = 1000Form_main.DataGrid2.Columns(3).Width = 2000Form_main.DataGrid2.Columns(4).Width = 1100Form_main.DataGrid2.Columns(5).Width
43、= 1100Form_main.DataGrid2.Columns(6).Width = 2100End Sub5.2 登录界面与主界面设计1.登录模块用于用户身份及密码的验证,一个系统仅供一个用户使用。登录界面截图如下:点击“确定”按钮对用户所输入的用户名和密码进行验证,首先打开数据库中存有用户资料的数据表,对数据库中用户名,密码和用户输入的进行比较,如果一致则载入主窗体,否则弹出对话框提示密码或用户名错误,登录失败,并清空用户名和密码文本框。实现代码如下:Set db = OpenDatabase(App.Path & data.mdb) 连接数据库Set re = db.OpenReco
44、rdset(user)打开用户数据表If Text1.Text = re.Fields(0) And Text2.Text = re.Fields(1) Then Unload Me Load Form_main Form_main.ShowElse MsgBox 对不起,用户名或密码不正确!, 16, 错误 Text1.Text = Text2.Text = Text1.SetFocusEnd If输入框检测是否按回车确认,该功能是为方便操作设计,代码如下:Private Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 Then Command1_ClickEnd Sub2. 主界面
©2010-2024 宁波自信网络信息技术有限公司 版权所有
客服电话:4008-655-100 投诉/维权电话:4009-655-100