资源目录
压缩包内文档预览:(预览前20页/共52页)
编号:59100977
类型:共享资源
大小:395.03KB
格式:RAR
上传时间:2020-03-17
上传人:qq77****057
认证信息
个人认证
李**(实名认证)
江苏
IP属地:江苏
7.2
积分
- 关 键 词:
-
VB085
中大迅通
合同
统计
系统
- 资源描述:
-
VB085中大迅通合同统计系统,VB085,中大迅通,合同,统计,系统
- 内容简介:
-
中大迅通合同统计设计概要本系统主要分为以下几个功能模块:一: 录入(新增)主要是录入合同的原始资料。包括以下部分:栏目备注1合同编号2客户名称3合同类别4所属部门5合同期6合同额7已收款8成本9已付成本10应付税金11已付税金12未收余额=合同额已收款13未付成本=成本已付成本14未付税金=应付税金已付税金15项目毛利合同额成本应付税金16可分配毛利已收款已付成本已付税17收款计划二、收钱三、修改修改原始资料(上表中红色字部分)四、查询查询条件有以下几种:时间范围;客户名称;合同编号;部门;合同类别;模糊条件五、统计统计条件同查询条件;可根据需要设置显示的字段并打印出来。六、显示列表七、打印八、导出到Excel与导入(追加)Excel九、权限管理另外,最好是有分权限的功能,权限分为录入,修改,浏览广东中大讯通软件科技有限公司 项目管理项目管理 编号:R&D-CXM0305(A) 制订人:邓德明项目需求文档项目需求文档项目名称中大迅通合同统计系统项目编号版本历史版本日期修改內容作者审核D12005.02.06统计系统需求初稿余超庄敬晖D22005.02.21对系统列表所显示的字段进行说明李嵩庄敬晖编制人签署:审核签字审核日期审批签字审批日期客户确认确认签字确认日期广东中大讯通软件科技有限公司 项目管理项目管理 编号:R&D-CXM0305(A) 制订人:邓德明目目 录录1 1 引言引言 .1 11.1 编写目的 .11.2 背景 .12 2 需求描述需求描述 .2 22.1 录入(新增) .22.2 修改 .22.3 查询 .22.4 统计 .22.5 显示列表 .22.6 导出到 EXCEL与导入(追加)EXCEL.32.7 打印 .32.8 权限管理 .3广东中大讯通软件科技有限公司 项目管理项目管理 编号:R&D-CXM0305(A) 第 1 页 制订人:邓德明1 1 引言引言1.11.1 编写目的编写目的本文档主要是描述中大迅通合同统计系统的主要功能,目的为方便项目开发过程中财务部相关同事及项目开发相关人员的交流,以此作为项目调研书面文档。文档阅读对象:财务部相关同事、程序员及项目相关人员。1.21.2 背景背景本项目的名称:中大讯通合同统计系统本项目服务器运行环境为: Windows 2000 server Microsoft Access本项目客户端运行环境为: Windows 98/2000/XP广东中大讯通软件科技有限公司 项目管理项目管理 编号:R&D-CXM0305(A) 第 2 页 制订人:邓德明2 2 需求描述需求描述中大讯通合同统计系统有以下几个主要功能: 2.12.1 录入(新增)录入(新增)录入合同的原始资料。包括以下部分:栏目栏目备注备注1合同编号2客户名称3合同类别4所属部门5合同期6合同额7已收款8成本9已付成本10应付税金11已付税金12余额=合同额已收款13未付成本=成本已付成本14未付税金=应付税金已付税金15项目毛利合同额成本应付税金16可分配毛利已收款已付成本已付税2.22.2 修改修改修改原始资料(上表中红色字部分)2.32.3 查询查询查询条件有以下几种:时间范围;客户名称;合同编号;部门;合同类别;模糊条件2.42.4 统计统计统计条件同查询条件;2.52.5 显示列表显示列表全部基本资料列表字段:字段说明备注合同编号记录合同的编号客户名称记录客户的名称合同类别说明合同的类别所属部门此合同为哪个部门相关广东中大讯通软件科技有限公司 项目管理项目管理 编号:R&D-CXM0305(A) 第 3 页 制订人:邓德明合同期此合同的到期时间合同额此合同的金额已收款此合同目前已收款成本此项目合同所需的合部成本已付成本此项目合同目前已付的成本应付税金此项目合同所需付的全部税金已付税金此项目合同目前已付的税金未收余额=合同额已收款此字段为自动计算未付成本=成本已付成本此字段为自动计算未付税金=应付税金已付税金此字段为自动计算项目毛利合同额成本应付税金此字段为自动计算可分配毛利已收款已付成本已付税此字段为自动计算收款计划目前为文字信息。此字段以后要完善,根据此字段来提示收款收款列表字段:字段说明备注收款 ID年(4)+月(2)+日(2)+时(2)+分(2)+秒(2)共 14 位是根据录入的时间自动生成合同编号是从基本资料表的合同编号中取出客户名称是从基本资料表的客户名称中取出合同类别是从基本资料表的合同类别中取出所属部门是从基本资料表的所属部门中取出合同期是从基本资料表的合同期中取出收款时间当前收款的日期下一期收款时间下一期收款的日期合同额是从基本资料表的合同额中取出本期收款本期收的款数成本是从基本资料表的成本中取出本期付成本本期要付的成本应付税金是从基本资料表的应付税金中取出本期付税金本期要付的税金未收余额=合同额(基本资料表中已收款+本期收款)未付成本=成本(基本资料表中已付成本+本期付成本)未付税金=应付税金(基本资料表中已付税金+本期付税金)项目毛利合同额成本应付税金可分配毛利已收款(基本资料表中已付税金+已付成本)(基本资料表中已付税金+已付税)广东中大讯通软件科技有限公司 项目管理项目管理 编号:R&D-CXM0305(A) 第 4 页 制订人:邓德明收款计划同基本资料中的收款计划收款人自动生成把登入用户填入2.62.6 导出到导出到 ExcelExcel 与导入与导入( (追加追加)Excel)ExcelExcel 格式待定。2.72.7 打印打印将统计结果根据需要设置字段并打印出来。2.82.8 权限管理权限管理有权限管理功能,权限分为:管理员(全部权限) ,修改(除对成本、利润、税金等相关信息不可以修改和浏览外) ,浏览(某个部门只能浏览此部门的相关资料) 毕业设计(论文)中文题目: 合同统计系统的设计与实现英文题目:学 院: 专 业:计算机科学与技术学生姓名: 学 号: 指导教师: 2004 年 6 月 4 日 摘 要在21世纪,随着计算机科学的发展,数据库技术在人们日常工作中的应用越来越广泛,为广大用户提供了更加周到和人性化的服务。数据库技术已逐渐成为当今计算机应用的潮流。本文主要是通过制作一款数据库软件即“合同统计系统”来介绍数据库技术在人们日常生活和工作中的应用。本论文所做的主要工作如下:(1)介绍了Visualbasic6.0软件开发工具和利用Delphi7.0和Ado技术操作数据库的一般原理。(2)阐述整个“合同统计系统”的系统结构及工作原理;分析了系统实现中的特殊性、难点。(3)设计实现对数据库的操作功能、数据库查询功能、数据库打印功能。(4)分析并解决实现中的若干技术问题。(5)建立完整的“合同统计系统”,进行测试并分析结果。关键字 数据库技术 Ado 合同统计系统 AbstractAt the 21th century ,With the development of computer science, Database technology is widely used in the peoples life and work. This makes users can enjoy more convenient and individual services. Database technology is the trend of todays computer applications. In this work, we study the technique to build a software named Contract Stat System in order to introduce the applications of database technology in the peoples life and work. The main work of this paper are :(1) Introduces the Visual Basic6.0 software development tool and introduces the method how to use the software and Ado technology to operate the database. (2) Investigates the system structure and working principle of the Contract Stat System. Analyses the particularity and difficulty of the system.(3) Analyses and resolves the technical problems in implementation.(4) Establishes a test software and analyses the result after testing on it.Key Words Database technology Ado Contract Stat System 目录 第1章 绪论. 第2章 概述.2-1 Visual Basic6.0编程软件介绍及数据库概述. 2-2 Visual Basic6.0访问数据库的四种方法比较.第3章 系统分析与设计. 3-1 系统需求分析. 3-2 系统模块设计.第4章 合同统计管理系统的设计与实现.4-1 各功能模块流程图或联系图.4-2 分析与创建数据库. 新建数据库及字段.4-3 系统各模块的设计与实现.4-3-1 用户登陆管理模块的设计.4-3-2合同基本信息录入模块的设计.4-3-3 用户密码修改模块的设计.4-3-4 合同统计模块的设计.4-3-5 合同信息查找模块的设计.4-3-6 收款模块的设计.第5章 系统性能测试第6章 总结. . .致谢与参考文献第1章 绪论本论文描述了一个使用VB技术来实现创建一个基于本地数据库技术的合同统计系统的实例该系统主要面向合同信息处理的单机服务,整个系统共有几个部分来实现不同的功能:l 用户登录管理。只有有权限的用户才能进入本系统,没有权限的用户或非法用户不能进入本系统,从而有效地保证系统的安全。l 合同基本信息录入。能够对合同的基本信息进入录入,包括合同的编号、合同的类别、合同名称、合同部门、所属部门、合同开始日期、合同结束日期、合同额等。l 合同信息的查找。能够对合同的具体信息进行查找。可以提供按时间范围查找、按所属部门查找、按合同编号查找、按客户名称查找、按合同类别查找、按模糊条件查找。l 对用户密码进行修改。为了保证软件的安全,用户需要定期修改密码。用户在登录后要能对自己的密码进行修改。l 合同统计。通过它首先可以浏览所有合同的具体信息,还能添加、删除、修改、保存合同信息。同时,作为操作本软件的主要平台,通过它能够访问其它的单元。l 收款。可以对合同的收款的情况信息进行管理,包括对收款信息的录入、删除、修改、保存等。整个系统简单划分为以上6个部分第2章 概述2-1 Visual Basic6.0编程软件介绍及数据库概述Visual Basic是由微软公司推出的一套完整的Windows系统软件开发工具,可用于开发Windows环境下的各类应用程序,是一种可视化、真正面向对象、采用事件驱动方式的结构化高级程序设计语言和工具的完美集成。它编程简单、方便、功能强大,具有与其它语言及环境的良好接口,不需要编程开发人员具备C/C+或者Turbo Pascal 语言知识和特别高深的专业知识,只要懂得Windows的界面及其基本操作,就可以迅速上手,而VB在程序界面设计、多媒体开发方面更是独具优势。自1991年Visual Basic1.0推出以来,Visual Basic版本不断得到更新,功能不断得到增强,现在的最新版本是Visual Basic 6.0。为了满足不同的开发需要,Visual Basic 6.0本身又分为学习版、专业版。Visual Basic 6.0对已有功能进行完善,同时增加了许多新的功能。新的数据访问特性在数据访问技术方面Visual Basic 6.0比起Visual Basic 5.0有了极大的增强:新的数据访问接口ADO:Visual Basic 6.0 支持的数据访问接口有ADO(ActiveX数据对象)、RDO(远程数据对象)和DAO(数据访问对象),每个接口都代表了数据访问技术的不同发展阶段,最新的接口是ADO。ADO是比RDO和DAO更加简单、更加灵活的对象模型,它是为OLE DB而设计的。OLDDB是新的低层COM接口,可以为任何数据源提供高性能的访问。这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等。ADO封装并实现了OLDDB的所有功能,它将全面取代DAO和RDO,成为数据访问接口的主流。新的数据源:除了已有的Data和Remote Data控件外,Visual Basic 6.0引入了几种新的数据源,包括数据识别的类模块和用户控件、数据环境、ADO记录集和ADOData控件等。ADOData控件的功能与Data和Remote Data控件十分相似,都允许编程人员用最少的代码来创建数据库应用程序。新的数据库绑定控件:Visual Basic 6.0新增加了为数不少的数据绑定控件,包括DataGrid, Datalist, DataCombo, Hierarchical FlexGrid和DataRepeater等。集成的可视化数据库工具:包括查询设计器和数据库设计器,提供了可视地查看并操作表、视图、存储过程和数据库结构的功能。数据环境设计器:允许编程人员可视化地创建和操作ADO对象,为编程人员操纵数据源提供了极大的方便。数据报表设计器:允许编程人员利用拖放技术来快速地从任何记录集创建报表。新的Internet特性Visual Basic 6.0提供了多种不同的途径,来帮助编程人员开发出动态的、功能强大的Internet应用程序:IIS应用程序:可以直接Visual Basic 6.0来创建IIS应用程序(服务器端Internet应用程序),响应浏览器用户的请求。对下载ActiveX文档的支持:在Internet Explorer中下载ActiveX文档与下载ActiveX控件的方法相同。除了新的数据访问特性和新的Internet特性外,Visual Basic 6.0在其余方面也都做了重大改进,包括新的或增强的控件,新的或增强的语言特性,以及新的或增强的向导。所有这些都使得Visual Basic 6.0功能更为强大。总之,无论是开发小型应用系统,还是大型企业应用系统,甚至开发功能强大的Internet应用程序,Visual Basic 6.0都能胜任。2-2 Visual Basic 6.0访问数据库的四种方法比较 Visuai Basic 6.0的数据访问功能比起Visual Basic 5.O有了极大的增强。除了支持DAO(数据访问对象)和RDO(远程数据对象)外,Visual Basic 6.0还提供了新的ADO和RDO更加简单、更加灵活的数据访问接口。此外,Visual Basic 6.0还提供了新的数据源、新的数据绑定控件、新的可视化数据库工具、新的数据环境设计器以及新的数据报表设计器。1.数据访问对象(DAO)控件数据访问对象(DAO)是Jet引擎的面向对象的编程接口。Jet引擎使最终用户与正在访问的特定数据库无关。Jet引擎驻留在(动态连接库)文件中,运行时将应用程序的请求翻译成对数据库的物理操作。Jet引擎真正读取、写入和修改数据库,并处理所有的内部的事务。Jet引擎介于用户界面和数据仓库之间。通过数据访问对象和Jet引擎可以识别以下三类数据库:Visual Basic数据库;外部数据库;ODBC数据库。虽然可以直接使用数据访问对象来编程,但Data控件作为一个图形控件,具有易于使用的界面,它的最大优点就是只需少量代码或根本不用代码就可以创建应用程序来显示。2.运程数据对象和Remtoe Data控件远程数据访问对象是位于ODBC API和驱动程序管理器之上的对象模型,它提供了一系列的对象来满足远程数据访问的特殊要求。尽管RDO在访问Jet或ISAM数据库时受到限制,而且只能通过现存的ODBC驱动程序来访问关系数据库。但RDO能访问任何的ODBC数据源,特别适用于智能的数据库服务器(如SOL Server和Oracle等)。Remote Data与Data控件基本类似,都提供了对数据库的无缝访问,用户不必编写任何代码就可以创建数据识别的应用程序,区别在于:Remite Data控件是通过使用RDO来实现数据访问,而Data控件则通过使用DAO来连接到Jet引擎。3.ActiveX数据对象和ADO Data控件OLE DB是一种统一的数据访问接口,它能够访问各种DBMS和非DBMS数据源。DBMS数据源包括主机数据库(如IMS和DB2、服务器数据库(如Oracle和SQL Sereer)以及桌面数据库(如(Micromft Access);非DBMS数据源包括存放在Windows和UNIX文件系统中的信息、电子邮件、电子表格、web上的文件或图形以及目录服务等。OLE DB使得数据消费者(应用程序)可以使用相同的方法访问各种数据,而不用考虑数据的具体存储地点、格式及类型。ADO(ActiveX数据对象)是DAO、RDO的后继产物,更简单和灵活。它扩展了DAO和RDO所使用的对象模型,包含较少的对象,更多的属性、方法和事件。ADO是为OLE DB而设计的,它封装并实现了OLE DB的所有功能。ADO Data控件,也就是Adodc,是Visual Basic 6.0新引进的数据访问控件,它使用ADO来快速建立数据绑定控件和数据提供者之间的连接,它使编程者使用最少的代码来创建数据库应用程序。当然,用ADO Data控件进行访问数据时必须为待访问的数据库创建OLE DB数据连接。本毕业设计就是采用这种先进的数据库访问技术访问数据库的。4.数据环境设计器和数据报表设计器数据环境设计器用于在设计时创建ADO对象,它为数据库访问提供了一个交互式环境。在编程时,可以使用数据环境设计器创建连接、命令和其他ADO对象,使用ADO对象的方法和属性,执行命令和操作记录集等。在数据环境设计器中创建连接和命令对象之后,数据环境设计器在设计时创建了DataEnvieonmwnr对象以及从属的ADO对象。当连接和命令对象的数据源可用时,可以在程序运行时直接访问数据环境设计器创建的Command、Connection和Recordset对象,好像这些对象是直接通过ADO创建的一样。例如,可以在运行时用代码将数据识别控件绑定到一个命令对象或命令对象中的字段,也可以在对象关闭时动态地设置ADO Connection和Recordset对象的属性,并在数据绑定前设置参数值。Microsoft数据报表设计器(Micromft Data Report designer)是Visual Bmic6.0提供的新的报表设计器,和Visual Basic中已有提供数据源的对象(如数据环境设计器)一起使用,通过鼠标的拖放操作,可以方便的创建复杂的报表。DataReport设计器创建的报表可以直接打印,也可以将报表导出到HTML或文本文件中。数据库最主要的功能是存储数据和提供信息。数据报表的作用就是将数据从数据库中检索到的数据,以用户自定义的格式打印出来或是显示在计算机屏幕上。使用报表可以解决数据库打印格式的特殊要求,也可以解决大量重复性的劳动。在具体的数据库应用程序中,报表可以解决各种各样的实际问题。例如:当建成一个完整的数据库系统后,用户可以通过SQL语句,或事先定义好的查询来检索数据库中的信息。通过比较可以发现:ADO(ActiveX Data Object,ActiveX数据对象)是微软提出的新标准,它使得客户端应用程序能够通过任何OLEDB提供者来访问和操作数据库服务器中的数据,而不必进行ODBC配置。ADO有两个主要优点:其一是易于使用、速度快、内存支出少和磁盘遗迹小。其二是“远程数据访问”,能够通过一个来回的传输将数据从服务器移动到客户端应用程序或Web中,然后在客户端对数据进行操作,最后将更新数据返回服务器。由于ADO操作数据库有着其他方法操作数据库无法比拟的优点,所以本毕业设计选择使用ADO操作数据库。第3章 系统分析与设计3-1 需求分析:为了更好地适应工作人员对合同统计系统的需求,缓解手工管理存在的弊端,开发合同统计系统。合同统计系统向用户提供的服务将在传统的“录入-修改-删除-查找”基础上,进一步提供全方位的信息服务。它具有以下几个特点:(1)可以存储所有合同的资料,具有安全、高效的特性;(2)只需1名合同信息录入人员即可操作本合同统计系统,可以节省大量的人力和物力。(3)可以通过查询系统迅速查到所需要的信息。在对合同统计系统的流程进行认真系统的分析后,我认为本系统用户的需求可以分为3个方面:第1方面是用户登录管理。只有有权限的用户才能进入本系统,没有权限的用户或非法用户不能进入本系统,从而有效地保证系统的安全。第2方面是合同信息的查找。能够对合同的具体信息进行查找。可以提供按时间范围查找、按所属部门查找、按合同编号查找、按客户名称查找、按合同类别查找、按模糊条件查找。第3方面也是合同统计系统的核心工作,即合同基本信息录入。能够对合同的基本信息进入录入,包括合同的编号、合同的类别、合同名称、合同部门、所属部门、合同开始日期、合同结束日期、合同额等。3-2.模块设计:根据需求分析的结果,我将本系统主要弄分为6个子模块:用户登录、图书管理、图书查询、借阅查询、借阅管理、基础维护。系统各模块的主要功能如下:(1) 用户登录管理模块。本模块的主要功能是对系统的操作进行限制;只有有权限的用户才能进入本系统,没有权限的用户或非法用户不能进入本系统,从而有效地保证系统的安全。(2) 合同基本信息录入模块。本模块的主要功能是能够对合同的基本信息进入录入,包括合同的编号、合同的类别、合同名称、合同部门、所属部门、合同开始日期、合同结束日期、合同额等。(3) 用户密码修改模块。本模块的主功能是为了保证软件的安全,用户需要定期修改密码。用户在登录后要能对自己的密码进行修改。(4)合同统计模块。本模块的主要功能是首先是通过本模块可以浏览到数据库内所有合同的具体信息,还能添加、删除、修改、保存合同信息。同时,作为操作本软件的主要平台,通过它能够访问其它的模块,如用户修改模块、收款模块等。(5)收款模块。本模块的主要功能是对合同的收款的情况信息进行管理,包括对收款信息的录入、删除、修改、保存等。第4章 合同统计系统的实现4-1软件流程图合同统计模块(主窗体)用户登录模块基础维护模块收款模块合同统计模块合同信息录入模块用户密码修改模块4-2 分析与创建数据库4-2-1 新建数据库及字段运行Microsoft公司的Office2000办公软件中的Access数据库软件。1点击菜单“文件”,在出现的菜单项中选择“新建”菜单项。2然后点击“空数据库”,在弹出的“文件新建数据库”对话框中键入数据库的名称,本软件中应写入:database.mdb。3这时系统将会自动进入详细的数据库设计窗体。我们选择“使用设计器”创建表。4在弹出的“表1”设计窗体中,依次写入各个字段名以及他们相对应的数据类型和说明事项。在本数据库中他们依次是:字段名称数据类型字段大小作用Dbname文本20用户名Dbpassword文本50密码Dbbranch文本50部门权限文本50权限5设计好字段名后,关闭并保存表为“login,即“用户登录信息”表 。6双击“login”表,然后在弹出的数据录入窗体中录入数据,并保存。因为软件中需要三个数据库表,所以还要在数据库中新建一个“基本资料”表、“收款信息”表。下面就用表格的形式分别列出这二个表的字段名称和数据类型。基本资料表字段名称数据类型字段大小作用合同编号文本50合同编号客户名称文本50客户名称合同类别文本50合同类别所属部门文本50所属部门合同开始日期日期/时间合同开始日期合同额货币合同额已收款货币已收款成本货币成本已付成本货币已付成本应付税金货币应付税金已付税金货币已付税金未收余额货币未收余额未付成本货币未付成本未付税金货币未付税金项目毛利货币项目毛利可分配毛利货币可分配毛利收款计划货币收款计划合同结束日期日期/时间合同结束日期收款信息表字段名称数据类型字段大小作用收款id文本50收款id合同编号文本50合同编号客户名称文本50客户名称合同类别文本50合同类别所属部门文本50所属部门合同期日期/时间合同期收款时间日期/时间收款时间下一期收款时间日期/时间下一期收款时间合同额货币合同额本期收款货币本期收款成本货币成本本期付成本货币本期付成本应付税金货币应付税金本期付税金货币本期付税金未收余额货币未收余额未付成本货币未付成本未付税金货币未付税金项目毛利货币项目毛利可分配毛利货币可分配毛利收款计划货币收款计划收款人文本50收款人4-3系统各模块的设计与实现4-3-1用户登录管理模块的设计1. 用户登录管理模块的主要功能是对系统的操作进行限制;只有有权限的用户才能进入本系统,没有权限的用户或非法用户不能进入本系统,从而有效地保证系统的安全。2.界面设计:新建一个窗体,然后在上面加上各种必须的控件,运行图如下所示:2.本模块的核心代码及解释:(1)系统显示时自动在用户名的下拉列表里列出所有目前数据库里用户的用户名,供工作人员选择,即代码如下:Private Sub Form_Load() 连接 Dim ADORecordset As New ADODB.Recordset mycon.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= _ & App.Path & database.mdb;Persist Security Info=False 打开表 With ADORecordset .CursorType = adOpenKeyset .LockType = adLockOptimistic .Open login, mycon, , , adCmdTable End With 向用户名中填加记录 If Not (ADORecordset.BOF = True And ADORecordset.EOF = True) Then Do Until ADORecordset.EOF = True cobName.AddItem IIf(IsNull(ADORecordSet.Fields(Name).Value), _ , ADORecordSet.Fields(Name).Value) cobName.AddItem IIf(IsNull(ADORecordset.Fields(DBName).Value), _ , ADORecordset.Fields(DBName).Value) ADORecordset.MoveNext Loop End If cobName.Text = cobName.List(0) ADORecordset.Close txtName.Enabled = FalseEnd Sub(2)用户选择用户名并输入密码后,按“确定”按钮触发的事件代码如下:Private Sub cmdOk_Click() Dim ADOmrc As ADODB.Recordset strtxtSQL = select * from login where DBpassword = & Trim(txtPassword.Text) & and DBName= & Trim(cobName.Text) & Set ADOmrc = ExecuteSQL(strtxtSQL) If ADOmrc.EOF = True Then MsgBox 密码错误!, vbExclamation + vbOKOnly, 警告 txtPassword.SetFocus txtPassword.SelStart = 0 txtPassword.SelLength = Len(txtPassword.Text) Exit Sub Else 用户权限 = IIf(IsNull(ADOmrc.Fields(权限).Value), _ , ADOmrc.Fields(权限).Value) 所属部门 = IIf(IsNull(ADOmrc.Fields(DBBranch).Value), _ , ADOmrc.Fields(DBBranch).Value) End If Set ADOmrc = Nothing Unload Me Load 合同统计系统 合同统计系统.Show vbModalEnd Sub4-3-2合同基本信息录入模块设计1. 合同基本信息录入模块的主要功能是能够对合同的基本信息进入录入,包括合同的编号、合同的类别、合同名称、合同部门、所属部门、合同开始日期、合同结束日期、合同额等。从严格意义上来说本模块是合同统计模块中的一个小模块,这实现合同统计模块中的合同信息录入的功能。2.窗体界面的设计:新建一个窗体,然后在上面加上各种必须的控件,运行图如下所示:3.核心代码及解释如下:在输入正确的合同信息后,按“确定”按钮触发的事件代码如下所示:Private Sub comOK_Click()Dim strtxtSQL As String If txtID.Text = Or txtName.Text = Then MsgBox 合同编号不能为空 txtID.SetFocus Exit Sub End If 计算已收款 If Val(txtPactMoney.Text) Val(txtEndMoney.Text) Then MsgBox 已收金额不能大于合同金额 txtEndMoney.SetFocus Exit Sub End If txtNotMoney.Text = Val(txtPactMoney.Text) - Val(txtEndMoney.Text) 计算未付成本 If Val(txtCost.Text) Val(txtEndCost.Text) Then MsgBox 已付成本不能小于成本 txtEndCost.SetFocus Exit Sub End If txtNotCost.Text = Val(txtCost.Text) - Val(txtEndCost.Text) 计算未付税金 If Val(txtTax.Text) Val(txtEndTax.Text) Then MsgBox 已付税金不能小于应付税金 txtEndTax.SetFocus Exit Sub End If txtNotTax.Text = Val(txtTax.Text) - Val(txtEndTax.Text) 计算项目毛利 If Val(txtPactMoney.Text) Val(txtCost.Text) + Val(txtTax.Text) Then MsgBox 成本+应付税金不能大于合同额 txtTax.SetFocus Exit Sub End If txtGrossProfit.Text = Val(txtPactMoney.Text) - Val(txtCost.Text) - Val(txtTax.Text) 计算可分配毛利 If Val(txtPactMoney.Text) Val(txtEndCost.Text) + Val(txtEndTax.Text) Then MsgBox 已付成本+已付税不能大于已收款 txtEndTax.SetFocus Exit Sub End If txtAssignGrossPprofit.Text = Val(txtEndMoney.Text) - Val(txtEndCost.Text) - Val(txtEndTax.Text) mycon.ConnectionString = ConnString mycon.Open strtxtSQL = select * from 基本资料 order by 合同编号 Set ADORecordset = ExecuteSQL(strtxtSQL) 打开基本资料表 ADORecordset.AddNew ADORecordset!合同编号 = txtID.Text ADORecordset!客户名称 = txtName.Text ADORecordset!合同类别 = txtSort.Text ADORecordset!所属部门 = txtBranch.Text ADORecordset!合同开始日期 = DTPicker1 txtDate.Text ADORecordset!合同结束日期 = DTPicker2 ADORecordset!合同额 = txtPactMoney.Text ADORecordset!已收款 = txtEndMoney.Text ADORecordset!成本 = txtCost.Text ADORecordset!已付成本 = txtEndCost.Text ADORecordset!应付税金 = txtTax.Text ADORecordset!已付税金 = txtEndTax.Text ADORecordset!未收余额 = txtNotMoney.Text ADORecordset!未付成本 = txtNotCost.Text ADORecordset!未付税金 = txtNotTax.Text ADORecordset!项目毛利 = txtGrossProfit.Text ADORecordset!可分配毛利 = txtAssignGrossPprofit.Text ADORecordset!收款计划 = txtProject.Text ADORecordset.Update Set mycon = Nothing Set ADORecordset = Nothing mycon.Close Set mycon = Nothing Unload Me Call 合同统计系统.Initializtion(0)End Sub4-3-3用户密码修改模块1.本模块的主功能是为了保证软件的安全,用户需要定期修改密码。用户在登录后要能对自己的密码进行修改。2.界面设计:新建一个窗体,然后在上面加上各种必须的控件,运行图如下所示:3.在输入正确的新密码后按“确定”按钮触发的事件代码如下:响应窗体加载事件,进行数据库的连接。代码如下:Private Sub comOK_Click() Dim strSQL As String Dim ADOCommand As New ADODB.Command Dim 权限 As String Select Case Combo1.Text Case 管理员 权限 = 0 Case 修改 权限 = 1 Case 浏览 权限 = 2 End Select If Text1.Text = Then MsgBox 新密码不能为空。 Text1.SetFocus Exit Sub ElseIf Text2.Text = Then MsgBox 请输入确认新密码。 Text2.SetFocus Exit Sub End If If Text1.Text Text2.Text Then MsgBox 两次输入的新密码不正确,请重新输入。 Exit Sub End If Dim ADORecordset As New ADODB.Recordset strtxtSQL = select * from Login where DBName = & cobName.Text & Set ADORecordset = ExecuteSQL(strtxtSQL) If Not (ADORecordset.BOF = True And ADORecordset.EOF = True) Then Do Until ADORecordset.EOF = True strSQL = update login set DBName = & cobName.Text _ & ,DBPassword = & Text1.Text _ & ,DBBranch = & cobBranch.Text _ & ,权限 = & 权限 & where DBName= & cobName.Text & ADORecordset.MoveNext Loop Else strSQL = Insert into login (DBName,DBPassword,DBBranch,权限) Values( & cobName.Text & , & Text1.Text & , & cobBranch.Text & , & 权限 & ) End If Set ADOCommand.ActiveConnection = mycon ADOCommand.CommandText = strSQL ADOCommand.Execute Set ADOCommand = Nothing Set ADORecordset = Nothing Unload MeEnd Sub4-3-4合同统计模块的设计1.本模块的主要功能是首先是通过本模块可以浏览到数据库内所有合同的具体信息,还能添加、删除、修改、保存合同信息。同时,作为操作本软件的主要平台,通过它能够访问其它的模块,如用户修改模块、收款模块等。2.窗体设计:新建一个窗体,然后在上面加上各种必须的控件,运行图如下所示:3.核心代码及解释如下:(1)响应“新增基本资料”按钮的单击事件,触发的事件代码如下:Private Sub ComNew_Click() fomBasic.txtID.Text = fomBasic.txtName.Text = fomBasic.txtSort.Text = fomBasic.txtBranch.Text = fomBasic.DTPicker1 = Date fomBasic.txtPactMoney.Text = 0 fomBasic.txtEndMoney.Text = 0 fomBasic.txtCost.Text = 0 fomBasic.txtEndCost.Text = 0 fomBasic.txtTax.Text = 0 fomBasic.txtEndTax.Text = 0 fomBasic.txtNotMoney.Text = 0 fomBasic.txtNotCost.Text = 0 fomBasic.txtGrossProfit.Text = 0 fomBasic.txtAssignGrossPprofit.Text = 0 fomBasic.txtProject.Text = With BasicDataType .strID = .strName = .strSort = .strBranch = .dateDTPicker = Date .dateDTPicker1 = Date .strPactMoney = .strEndMoney = .strCost = .strEndCost = .strTax = .strEndTax = .strNotMoney = .strNotCost = .strGrossProfit = .strAssignGrossPprofit = .strProject = End With fomBasic.Show vbModalEnd Sub(2)响应“修改基本资料”按钮的单击事件,触发的事件代码如下:Private Sub comEdit_Click() Dim ADORecordset As New ADODB.Recordset If ctList1.ListCount = 0 Then Exit Sub fomBasic.txtID.Text = ctList1.CellText(ctList1.ListIndex, 2) BasicDataType.strID = ctList1.CellText(ctList1.ListIndex, 2) 合同编号 fomBasic.txtName.Text = ctList1.CellText(ctList1.ListIndex, 3) BasicDataType.strName = ctList1.CellText(ctList1.ListIndex, 3) 客户名称 fomBasic.txtSort.Text = ctList1.CellText(ctList1.ListIndex, 4) BasicDataType.strSort = ctList1.CellText(ctList1.ListIndex, 4) 合同类别 fomBasic.txtBranch.Text = ctList1.CellText(ctList1.ListIndex, 5) BasicDataType.strBranch = ctList1.CellText(ctList1.ListIndex, 5) 所属部门 fomBasic.DTPicker1 = ctList1.CellText(ctList1.ListIndex, 6) BasicDataType.dateDTPicker = ctList1.CellText(ctList1.ListIndex, 6) 合同期 fomBasic.DTPicker2 = ctList1.CellText(ctList1.ListIndex, 7) BasicDataType.dateDTPicker1 = ctList1.CellText(ctList1.ListIndex, 7) 合同期 fomBasic.txtPactMoney.Text = ctList1.CellText(ctList1.ListIndex, 8) BasicDataType.strPactMoney = ctList1.CellText(ctList1.ListIndex, 8) 合同额 fomBasic.txtEndMoney.Text = ctList1.CellText(ctList1.ListIndex, 9) BasicDataType.strEndMoney = ctList1.CellText(ctList1.ListIndex, 9) 已收款 fomBasic.txtCost.Text = ctList1.CellText(ctList1.ListIndex, 10) BasicDataType.strCost = ctList1.CellText(ctList1.ListIndex, 10) 成本 fomBasic.txtEndCost.Text = ctList1.CellText(ctList1.ListIndex, 11) BasicDataType.strEndCost = ctList1.CellText(ctList1.ListIndex, 11) 已付成本 fomBasic.txtTax.Text = ctList1.CellText(ctList1.ListIndex, 12) BasicDataType.strTax = ctList1.CellText(ctList1.ListIndex, 12) 应付税金 fomBasic.txtEndTax.Text = ctList1.CellText(ctList1.ListIndex, 13) BasicDataType.strEndTax = ctList1.CellText(ctList1.ListIndex, 13) 已付税金 fomBasic.txtNotMoney.Text = ctList1.CellText(ctList1.ListIndex, 14) BasicDataType.strNotMoney = ctList1.CellText(ctList1.ListIndex, 14) 未收余额 fomBasic.txtNotCost.Text = ctList1.CellText(ctList1.ListIndex, 15) BasicDataType.strNotCost = ctList1.CellText(ctList1.ListIndex, 15) 未付成本 fomBasic.txtNotTax = ctList1.CellText(ctList1.ListIndex, 16) BasicDataType.strNotTax = ctList1.CellText(ctList1.ListIndex, 16) 未付税金 fomBasic.txtGrossProfit.Text = ctList1.CellText(ctList1.ListIndex, 17) BasicDataType.strGrossProfit = ctList1.CellText(ctList1.ListIndex, 17) 项目毛利 fomBasic.txtAssignGrossPprofit.Text = ctList1.CellText(ctList1.ListIndex, 18) BasicDataType.strAssignGrossPprofit = ctList1.CellText(ctList1.ListIndex, 18) 可分配毛利 fomBasic.txtProject.Text = ctList1.CellText(ctList1.ListIndex, 19) BasicDataType.strProject = ctList1.CellText(ctList1.ListIndex, 19) 收款计划 mycon.Close mycon.ConnectionString = ConnString mycon.Open strtxtSQL = DELETE * from 基本资料 where 合同编号 = & ctList1.CellText(ctList1.ListIndex, 2) & Set ADORecordset = ExecuteSQL(strtxtSQL) mycon.Close Set ADORecordset = Nothing ctList1.ClearList fomBasic.Show vbModalEnd Sub(3) 响应“删除基本资料”按钮的单击事件,触发的事件代码如下:Private Sub comDel_Click() Dim ADORecordset As New ADODB.Recordset If ctList1.ListIndex 0 Then Exit Sub mycon.ConnectionString = ConnString mycon.Open strtxtSQL = DELETE * from 基本资料 where 合同编号 = & ctList1.CellText(ctList1.ListIndex, 2) & Set ADORecordset = ExecuteSQL(strtxtSQL) mycon.Close Set ADORecordset = Nothing ctList1.ClearList Call Initializtion(0)End Sub4-3-5收款模块的设计1.本模块的主要功能是对合同的收款的情况信息进行管理,包括对收款信息的录入、删除、修改、保存等。2.窗体设计:新建一个窗体,然后在上面加上各种必须的控件,运行图如下所示:3.本模块的核心代码解释:在依次输入各项收款信息后,按“确定”按钮触发的事件代码如下所示:Private Sub comOK_Click()Dim ADORecordset As New ADODB.RecordsetDim logj As Long mycon.ConnectionString = ConnString mycon.Open Dim ADORecordset As New ADODB.Recordset strtxtSQL = select * from 收款表 order by 收款ID,合同编号 Set ADORecordset = ExecuteSQL(strtxtSQL) ADORecordset.AddNew ADORecordset!收款ID = txtEndMoneyID.Text ADORecordset!合同编号 = txtID.Text ADORecordset!客户名称 = txtName.Text ADORecordset!合同类别 = txtSort.Text ADORecordset!所属部门 = txtBranch.Text ADORecordset!合同期 = DTPicker1 ADORecordset!收款时间 = DTPicker2 ADORecordset!下一期收款时间 = DTPicker3 ADORecordset!合同额 = txtPactMoney.Text ADORecordset!本期收款 = txtEndMoney.Text ADORecordset!成本 = txtCost.Text ADORecordset!本期付成本 = txtEndCost.Text ADORecordset!应付税金 = txtTax.Text ADORecordset!本期付税金 = txtEndTax.Text ADORecordset!未收余额 = txtNotMoney.Text ADORecordset!未付成本 = txtNotCost.Text ADORecordset!未付税金 = txtNotTax.Text ADORecordset!项目毛利 = txtGrossProfit.Text ADORecordset!可分配毛利 = txtAssignGrossPprofit.Text ADORecordset!收款计划 = txtProject.Text ADORecordset!收款人 = txtSKR.Text ADORecordset.Update With ctList1 logj = .AddItem() .CellText(logj, 2) = txtEndMoneyID.Text .CellText(logj, 3) = txtID.Text .CellText(logj, 4) = txtName.Text .CellText(logj, 5) = txtSort.Text .CellText(logj, 6) = txtBranch.Text .CellText(logj, 7) = DTPicker1 .CellText(logj, 8) = DTPicker2 .CellText(logj, 9) = DTPicker3 .CellText(logj, 10) = txtPactMoney.Text .CellText(logj, 11) = txtEndMoney.Text .CellText(logj, 12) = txtCost.Text .CellText(logj, 13) = txtEndCost.Text .CellText(logj, 14) = txtTax.Text .CellText(logj, 15) = txtEndTax.Text .CellText(logj, 16) = txtNotMoney.Text .CellText(logj, 17) = txtNotCost.Text .CellText(logj, 18) = txtNotTax.Text .CellText(logj, 19) = txtGrossProfit.Text .CellText(logj, 20) = txtAssignGrossPprofit.Text .CellText(logj, 21) = txtSKR.Text .CellText(logj, 22) = txtSKR.Text .SortList If .ListCount 0 Then .ListIndex = 0 Else .ListIndex = -1 End If End With Set ADORecordset = Nothing strTextSQL = UPDATE 基本资料 set 已收款 & Val(txtEndMoney.Text) + Val(BasicDataType.strEndMoney) _ & ,已付成本 = & Val(txtEndCost.Text) + Val(BasicDataType.strEndCost) _ & ,应付税金 = & Val(txtTax.Text) _ & ,已付税金 = & Val(txtEndTax.Text) + Val(BasicDataType.strEndTax) _ & ,未收余额 = & txtNotMoney.Text _ & ,未付成本 = & txtNotCost.Text _ & ,未付税金 = & txtNotTax.Text _ & ,项目毛利 = & txtAssignGrossPprofit.Text _ & ,可分配毛利 = & txtAssignGrossPprofit.Text _ & ,收款计划 = & txtProject.Text _ & WHERE 合同编号 = & txtID.Text & Set ADORecordset = ExecuteSQL(strtxtSQL) Set ADORecordset = Nothing mycon.Close Set mycon = Nothing SSTab1.Tab = 1End Sub4-3-6合同信息查找模块的设计1.本模块的主要功能就是对合同的具体信息进行查找。可以提供按时间范围查找、按所属部门查找、按合同编号查找、按客户名称查找、按合同类别查找、按模糊条件查找。2. 2.窗体设计:新建一个窗体,然后在上面加上各种必须的控件,运行图如下所示: 3. 核心代码及解释如下:在选择查询方式,并输入所要查询的内容后,按“确定”触发的事件代码如下: Private Sub comOK_Click() If chkTime.Value 1 And chkBranch.Value 1 And chkID.Value 1 And chkName.Value 1 And chkSort.Value 1 And chkMHTJ.Value 1 Then Unload Me Call 合同统计系统.Initializtion(0) Exit Sub End If strFind = select * from 基本资料 where If chkTime.Value = 1 Then strFind = strFind & 合同开始日期 between # & Format(DTPicker1.Value, yyyy
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。