(精品)合同管理系统2.0版5.25.11.26)精品-改(2013年优秀毕业设计)_第1页
(精品)合同管理系统2.0版5.25.11.26)精品-改(2013年优秀毕业设计)_第2页
(精品)合同管理系统2.0版5.25.11.26)精品-改(2013年优秀毕业设计)_第3页
(精品)合同管理系统2.0版5.25.11.26)精品-改(2013年优秀毕业设计)_第4页
(精品)合同管理系统2.0版5.25.11.26)精品-改(2013年优秀毕业设计)_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

毕毕业业设设计计(论论文文) 中中文文题题目目: 合同管理系统的设计与实现 英英文文题题目目: 学学 院:院: 专专 业:业:计算机科学与技术 学生姓名:学生姓名: 学学 号:号: 指导教师:指导教师: 年年 月月 日日 摘摘 要要 在 21 世纪,随着计算机科学的发展,数据库技术在人们日常工作 中的应用越来越广泛,为广大用户提供了更加周到和人性化的服务。 数据库技术已逐渐成为当今计算机应用的潮流。本文主要是通过制作 一款数据库软件即“合同管理系统”来介绍数据库技术在人们日常 生活和工作中的应用。 本论文所做的主要工作如下: (1)介绍了 Visualbasic6.0 软件开发工具和利用 Delphi7.0 和 Ado 技术操作数据库的一般原理。 (2)阐述整个“合同管理系统”的系统结构及工作原理;分析了系 统实现中的特殊性、难点。 (3)设计实现对数据库的操作功能、数据库查询功能、数据库打印 功能。 (4)分析并解决实现中的若干技术问题。 (5)建立完整的“合同管理系统” ,进行测试并分析结果。 关键字关键字 数据库技术 Ado 合同管理系统 Abstract At 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 章 绪论 5 第 2 章 概述 6 2.1 编程软件介绍及数据库概述.6 2.2 访问数据库的方法.8 第 3 章 系统分析与设计 12 3.1 需求分析12 3.2.模块设计13 第 4 章 合同管理系统的实现 14 4.1 软件流程图.14 4.2 分析与创建数据库15 4.3 系统各模块的设计与实现.18 4.3.1 用户登录管理模块的设计.18 4.3.2 合同基本信息录入模块设计.21 4.3.3 用户密码修改模块.26 4.3.4 合同统计模块的设计.29 4.3.5 收款模块的设计.36 4.3.6 合同信息查找模块的设计.40 第五章 系统性能测试 43 总结 44 致 谢 45 参考文献 46 第第 1 1 章章 绪论绪论 本论文描述了一个使用 VB 技术来实现创建一个基于本地数据库技 术的合同管理系统的实例该系统主要面向合同信息处理的单机服务, 整个系统共有几个部分来实现不同的功能: 用户登录管理。只有有权限的用户才能进入本系统,没有权限 的用户或非法用户不能进入本系统,从而有效地保证系统的安 全。 合同基本信息录入。能够对合同的基本信息进入录入,包括合 同的编号、合同的类别、合同名称、合同部门、所属部门、合 同开始日期、合同结束日期、合同额等。 合同信息的查找。能够对合同的具体信息进行查找。可以提供 按时间范围查找、按所属部门查找、按合同编号查找、按客户 名称查找、按合同类别查找、按模糊条件查找。 对用户密码进行修改。为了保证软件的安全,用户需要定期修 改密码。用户在登录后要能对自己的密码进行修改。 合同统计。通过它首先可以浏览所有合同的具体信息,还能添 加、删除、修改、保存合同信息。同时,作为操作本软件的主 要平台,通过它能够访问其它的单元。 收款。可以对合同的收款的情况信息进行管理,包括对收款信 息的录入、删除、修改、保存等。 整个系统简单划分为以上 6 个部分 第第 2 2 章章 概述概述 2.1 编程软件介绍及数据库概述 Visual Basic 是由微软公司推出的一套完整的 Windows 系统软 件开发工具,可用于开发 Windows 环境下的各类应用程序,是一种可 视化、真正面向对象、采用事件驱动方式的结构化高级程序设计语言 和工具的完美集成。它编程简单、方便、功能强大,具有与其它语言 及环境的良好接口,不需要编程开发人员具备 C/C+或者 Turbo Pascal 语言知识和特别高深的专业知识,只要懂得 Windows 的界面及 其基本操作,就可以迅速上手,而 VB 在程序界面设计、多媒体开发方 面更是独具优势。 自 1991 年 Visual Basic 1.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 而设计的。OLD DB 是新的低层 COM 接口,可以为任何数据源 提供高性能的访问。这些数据源包括关系和非关系数据库、电子邮件 和文件系统、文本和图形、自定义业务对象等。ADO 封装并实现了 OLDDB 的所有功能,它将全面取代 DAO 和 RDO,成为数据访问接口的主 流。 新的数据源:除了已有的 Data 和 Remote Data 控件外,Visual Basic 6.0 引入了几种新的数据源,包括数据识别的类模块和用户控件、 数据环境、ADO 记录集和 ADO Data 控件等。ADO Data 控件的功能与 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 都能胜任。 22 访问数据库的方法 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 章章 系统分析与设计系统分析与设计 3.1 需求分析 为了更好地适应工作人员对合同管理系统的需求,缓解手工管理 存在的弊端,开发合同管理系统。合同管理系统向用户提供的服务将 在传统的“录入-修改-删除-查找”基础上,进一步提供全方位的信息 服务。它具有以下几个特点: (1)可以存储所有合同的资料,具有安全、高效的特性; (2)只需 1 名合同信息录入人员即可操作本合同管理系统,可以节 省大量的人力和物力。 (3)可以通过查询系统迅速查到所需要的信息。 在对合同管理系统的流程进行认真系统的分析后,我认为本系统 用户的需求可以分为 3 个方面:第 1 方面是用户登录管理。只有有权 限的用户才能进入本系统,没有权限的用户或非法用户不能进入本系 统,从而有效地保证系统的安全。第 2 方面是合同信息的查找。能够 对合同的具体信息进行查找。可以提供按时间范围查找、按所属部门 查找、按合同编号查找、按客户名称查找、按合同类别查找、按模糊 条件查找。第 3 方面也是合同管理系统的核心工作,即合同基本信息 录入。能够对合同的基本信息进入录入,包括合同的编号、合同的类 别、合同名称、合同部门、所属部门、合同开始日期、合同结束日期、 合同额等。 3.2.模块设计 根据需求分析的结果,我将本系统主要弄分为 6 个子模块:用户 登录、图书管理、图书查询、借阅查询、借阅管理、基础维护。 系统各模块的主要功能如下: (1) 用户登录管理模块。本模块的主要功能是对系统的操作进行限 制;只有有权限的用户才能进入本系统,没有权限的用户或非法用户 不能进入本系统,从而有效地保证系统的安全。 (2) 合同基本信息录入模块。本模块的主要功能是能够对合同的 基本信息进入录入,包括合同的编号、合同的类别、合同名称、合同 部门、所属部门、合同开始日期、合同结束日期、合同额等。 (3) 用户密码修改模块。本模块的主功能是为了保证软件的安全, 用户需要定期修改密码。用户在登录后要能对自己的密码进行修改。 (4)合同统计模块。本模块的主要功能是首先是通过本模块可以浏 览到数据库内所有合同的具体信息,还能添加、删除、修改、保存合 同信息。同时,作为操作本软件的主要平台,通过它能够访问其它的 模块,如用户修改模块、收款模块等。 (5)收款模块。本模块的主要功能是对合同的收款的情况信息进行 管理,包括对收款信息的录入、删除、修改、保存等。 第第 4 4 章章 合同管理系统的实现合同管理系统的实现 4.1 软件流程图 用 户 密 码 修 改 模 块 合同模块(主窗体) 合 同 信 息 录 入 模 块 合 同 模 块 收 款 模 块 基 础 维 护 模 块 用户登录模块 4.2 分析与创建数据库 运行 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=“ _ 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 = False End 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 vbModal End Sub 4.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) 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 Me End Sub 4.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 vbModal End 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 vbModal End Sub (3) 响应“删除基本资料”按钮的单击事件,触发的事件代码如下: Private Sub comDel_Click() Dim ADORecordset As New ADODB.Recordset If ctList1.ListIndex 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 = 1 End Sub 4.3.6 合同信息查找模块的设计 1.本模块的主要功能就是对合同的具体信息进行查找。可以提供 按时间范围查找、按所属部门查找、按合同编号查找、按客户名称查 找、按合同类别查找、按模糊条件查找。 2. 2.窗体设计: 新建一个窗体,然后在上面加上各种必须的控件,运行图如下所 示: 3. 核心代码及解释如下: 在选择查询方式,并输入所要查询的内容后,按“确定”触发的 事件代码如下: Private Sub comOK_Click() If chkTime.Value 1 And chkID.Value 1 And chkSort.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-mm-dd“) & “# and #“ & Format(DTPicker2.Value, “yyyy-mm-dd“) & “#“ End If If chkBranch.Value = 1 And cobBranch.Text “ Then If chkTime.Value = 1 Or chkBranch.Value = 1 Then strFind = strFind & “ and“ End If strFind = strFind & “ 合同编号 = “ & cobID.Text & “ End If If chkName.Value = 1 And cobName.Text “ Then If chkTime.Value = 1 Or chkBranch.Value = 1 Or chkID.Value = 1 Or chkName.Value = 1 Then strFind = strFind & “ and“ End If strF

温馨提示

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

评论

0/150

提交评论