目 录
内容摘要和关键词 …………………………………………………………………Ⅰ
前言 …………………………………………………………………………………II
一、课程设计的目的和内容 …………………………………………………………1
(一)课程设计的目的 ………………………………………………………………1
(二)课程设计的内容 ………………………………………………………………1
二、课程设计中所采用的技术 ………………………………………………………1
(一)Microsoft Access简介………………………………………………………1
(二)数据库开发技术 ………………………………………………………………1
三、系统总体设计 ……………………………………………………………………3
(一)需求分析 ………………………………………………………………………3
(二)开发及运行环境 ………………………………………………………………3
(三)E-R图 …………………………………………………………………………3
(四)关系模型 ………………………………………………………………………3
(五)表结构 …………………………………………………………………………4
(六)系统功能概述 …………………………………………………………………5
四、系统各功能模块的详细设计 ……………………………………………………5
(一)启动窗体设计 …………………………………………………………………5
(二)登录模块设计 …………………………………………………………………6
(三)主窗体设计 ……………………………………………………………………8
(四)合同信息管理模块 ……………………………………………………………9
(五)客户信息管理模块 …………………………………………………………11
(六)成品信息管理模块 …………………………………………………………12
(七)合同查找、客户查找界面 …………………………………………………13
五、结束语 …………………………………………………………………………14
参考文献 ……………………………………………………………………………14
致谢 …………………………………………………………………………………16
销售合同管理系统论文
内 容 摘 要
现代化的企业越来越重视科学技术,只有把科学技术应用到企业中才能获取更大的效益。 合同是商品经济的产物,是商品交换的法律表现形式。现代企业的经济往来,主要是通过合同形式进行的。所以,合同管理作为现代企业法律顾问制度的重要内容之一,能否实施有效管理把好合同关,是现化企业经营管理成败的一个重要因素。
企业往往会签订一系列的合同,并且会考虑如何去管理合同的进展,合同账款的收取和支付。完善的合同管理是企业健康运作的一个重要标志。
本课程设计的整个系统从符合操作简便、界面友好、灵活、实用和安全的要求出发,完成合同资料的签定、续签及终止全过程。经过实际使用证明,本文所设计的系统可以满足合同管理的需要。全文共分为课程设计的目的和内容、课程设计中所采用的技术、系统总体设计、系统各功能模块的详细设计、课程设计的收获和体会等五部分内容。本文首先介绍了ADO及数据库等相关技术;然后详细说明了 “合同管理系统”的基本功能及实现过程,最后重点介绍了软件的窗体设计与代码实现。
关键词:
ADO VB.NET ACCESS 合同
前 言
在现代化企业中,信息管理工作将发挥越来越重要的作用。企业信息管理工作已经渗透到企业日常工作的许多方面,无论是其自身还是所发挥的作用,都为企业的创新、发展以及经济效益,做出了显著的贡献。
因此,企业必须加强自身的信息基础设施建设,通过企业基础数据的信息化、企业基本业务流程和事务处理的信息化、企业内部控制及实施控制过程的信息化、人的行为规范管理等企业基础管理信息化工程,确保企业在规模不断扩大和业务迅速发展的过程中保持坚实的管理基础和繁殖内核,促进企业的可持续发展。
企业管理是企业发展的关键环节,一个好的管理体制将给企业带来很可观的经济效益。无论是大公司还是小商店,都有很多数据、账目需要管理。手工管理这些纷繁复杂数据的方式已经不适应时代的潮流,实现数据规范化、自动化的电脑管理,是一个管理规范、动作高效的企业单位的必然要求。
本系统具有客户管理、进货及销售统计、预览数据表等功能,界面友好、操作简便。开发此项目,能够将所学的理论知识与实际应用相结合,并尝试应用最新流行的开发工具,以达到掌握新技术、进一步提高程序开发能力的目的。
一、课程设计的目的和内容
(一)课程设计的目的
掌握数据库的创建方法。
掌握用一种语言(如VB.NET)开发数据库应用程序的方法。
(二)课程设计的内容
在本次《专业方向综合课程设计》中,设计一个数据库应用系统。采用Microsoft Visual Studio .NET 2003 + Access完成合同管理系统。
二、课程设计中所采用的技术
(一) Microsoft Access简介
Access是一种关系数据库开发工具,数据库能汇集各种信息以供查询、存储和检索。Access的优点在于它能使用数据表示图或自定义窗体收集信息。数据表示图提供了一种类似于Excel的电子表格,可以使数据库一目了然。另外,Access允许创建自定义报表用于打印或输出数据库中的信息。Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。Access是一种关系数据库工具,关系数据库是已开发的最通用的数据库之一。如上所述,Access作为关系数据库一切具备了许多优点,可以在一个数据包中同时拥有桌面数据库的便利和关系数据库的强大功能。
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。由关系数据结构组成的数据库系统被称为关系数据库系统。在关系数据库中,对数据的操作几乎全部建立在一个或多个关系表格上,通过对这些关系表格的分类、合并、连接或选取等运算来实现数据的管理。
Access数据库使用与Windows完全统一的风格,采用面向对象的方式对数据库进行管理与操作,大大简化了用户的开发与维护工作。Access提供了七个构建数据库系统的对象,使数据库应用系统的开发变得快捷、方便,即便是开发复杂的数据应用系统,也只需编写少量的程序代码。Access数据库由表,查询、窗体,报表等对象组成。
在Access数据库中,表是基本的对象,数据库在的所有数据都要储存在表中。所以说,表就是我们用以存储数据的仓库。表的结构与日常工作中使用的表格,如学生成绩单,物料清单和材料销售单一样,是由列(字段)和行(记录)组成。在Access的各对象中,表是核心,是所有数据库操作的目标和前提,所有的其他对象只有与它相结合,才有实际意义。
在开发数据库系统时,首先就是要根据应用系统的要求,设计数据库中的结构。在Access关于表的操作都是通过表对象来实现的。表对象中包含有反映表结构的字段的结构和属性,以及反映表中所储存的数据的记录。只有完成表对象创建后,方可将数据存放到所创建的表中。在一个Access数据库中,至少需要一个表存在,否则该数据库为空数据库。
数据管理包括两项基本的任务,首先是将数据组织起来并存储在数据库表中,这就是我们在前面介绍的数据库表的查询或检索,这是数据管理中极其重要的功能。用户将数据放入数据库的目的就在于日后能快速查找出需要的数据。数据库系统本身的查询功能优劣决定着一个数据库系统的性能与成败。一个好的数据库系统应该能够根据用户的要求,快速准确地将各种符合条件的数据和信息检索出来。
在Access中有关查询的操作都是通过查询对象来实现的,它负责管理查询的编制,查询的实现以及将符合查询条件的记录和信息予以显示,为用户的决策提供快速准确的帮助。在Access中,通常是采用“查询构造器”来构造查询对象的。用于设计查询对象的字段结构和属性的窗口称为“查询构造器”,在该窗口中,用户可以使用可视化方法进行查询设计。用于显示查询对象数据结果的窗口称“数据窗口”,在该窗口中所显示的内容不是查询对象所包含的数据,而是对表中数据实施计算或处理的结果。
一个好的数据库系统不但要有高质量的数据管理功能和高效率的数据查询能力,而且还需要有一个用户友好的操作界面。在应用系统的开发中,用户操作界面的设计十分重要,程序员往往要花费大量的时间和精力,编写大段代码来设计一个友好的用户操作界面。在Access中,用户操作界面的设计都是通过窗体对象来实现的,它负责管理窗体的制作,实现数据显示及操作控制。
Access的窗体设计,几乎使用Windows中的所有控件,如按钮,文本框,列表框,组合框,复选框等,这就使得所设计的界面完全符合Windows的风格。
综上所述VB.NET 2003与Access配合开发有许多优点,Access强大的数据库管理功能与VB.NET 2003方便灵活的开发非常协调,并且VB.NET 2003与office 系列软件可以很好地结合在一起,可方便地调用office的强大功能,并与Windows 系统保持一致风格便于开发人员开发和用户使用。所以本系统采用VB.NET 2003与Access在Windows 平台上进行开发。
(二)数据库开发技术
数据库技术产生于20世纪60年代末70年代初,其主要目的是有效地管理和存取大量的数据资源.数据库技术主要研究如何存储,使用和管理数据。
近年来,数据库技术和计算机网络技术的发展相互渗透,相互促进,已成为当今计算机领域发展迅速,应用广泛的两大领域.数据库技术不仅应用于事务处理,并且进一步应用到情报检索,人工智能,专家系统,计算机辅助设计等领域。
使用数据库可以带来许多好处:如减少了数据的冗余度,从而大大地节省了数据的存储空间;实现数据资源的充分共享等等。此外,数据库技术还为用户提供了非常简便的使用手段使用户易于编写有关数据库应用程序。数据库是通过数据库管理系统(DBMS-DATA BASE MANAGEMENT SYSTEM)软件来实现数据的存储、管理与使用。
三、系统总体设计
(一)需求分析
现代化的企业越来越重视科学技术,只有把科学技术应用到企业中才能获取更大的效益。 合同是商品经济的产物,是商品交换的法律表现形式。现代企业的经济往来,主要是通过合同形式进行的。所以,合同管理作为现代企业法律顾问制度的重要内容之一,能否实施有效管理把好合同关,是现化企业经营管理成败的一个重要因素。
企业往往会签订一系列的合同,并且会考虑如何去管理合同的进展,合同账款的收取和支付。完善的合同管理是企业健康运作的一个重要标志。
(二)开发及运行环境
系统开发平台:Microsoft Visual Studio .NET 2003
数据库:Access
运行平台:Windows XP/Windows 2000/Windows 2003
分辨率:最佳效果1024×768像素
(三)E-R图
合同管理系统ER图如下(图3-1):
图3-1 合同管理系统ER图
(四)关系模型
1、合同管理部分(合同添加,合同信息管理,查找与打印,合同统计,出入库处理,库存信息)
2、普通信息管理(客户添加,客户信息管理,查找和打印,成品添加,成品信息管理)
3、系统管理(欢迎界面,系统设置,查看系统信息,帮助,关于)
4、用户信息(用户名,密码)
(五)表结构
contract表的设计详见表3-1:
表3-1 合同信息表
字段名 | 数据类型 | 是否主键 |
id | 自动编号 | 是 |
ctype | 文本 | |
customer | 文本 | |
csum | 数字 | |
paytype | 文本 | |
factor | 是/否 | |
signdate | 日期/时间 | |
factdate | 日期/时间 |
customer表设计详见表3-2:
表3-2 企业信息表
字段名 | 数据类型 | 是否主键 |
id | 数字 | 是 |
name | 文本 | |
address | 文本 | |
post | 文本 | |
banknumber | 文本 | |
phone | 文本 | |
cdate | 日期/时间 | |
clevel | 文本 |
product表设计详见表3-3:
表3-3 职员信息表
字段名 | 数据类型 | 是否主键 |
id | 自动编号 | 是 |
name | 文本 | |
model | 文本 | |
standard | 文本 | |
pdate | 日期/时间 | |
lack | 数字 |
stock表设计详见表3-4:
表3-4 用户信息表
字段名 | 数据类型 | 是否主键 |
id | 自动编号 | 是 |
contract | 文本 | |
stype | 文本 | |
proname | 文本 | |
snumber | 数字 | |
price | 数字 | |
factor | 是/否 |
stocktemp表设计详见表3-5:
字段名 | 数据类型 | 是否主键 |
tindex | 数字 | |
proname | 文本 | 是 |
tnumber | 数字 | |
price | 数字 |
users表设计详见表3-6:
字段名 | 数据类型 | 是否主键 |
username | 文本 | 是 |
userpwd | 文本 |
(六)系统功能概述
在主控窗体中点击各菜单实现管理和查询企业和员工间的所有合同信息。具体功能包括:
合同签定:用于管理企业与员工签定的劳动合同。包括职员编号、合同名称、合同编号、合同期限、合同签定日期、备注等。
合同续签:用于处理已到期合同的续签事务,包括职员编号、合同编号、合同续签到日期、合同续签期限、新合同号、备注。
合同终止:用于终止已签定的合同,包括职员编号、合同编号、合同终止时间、备注等。
用户的登录和注册功能:
打印报表,显示企业与员工签定的劳动合同清单。包括职员编号、合同名称、合同期限、合同签定日期。
四、系统各功能模块的详细设计
(一)启动窗体设计
启动窗体的设计(如图4-1),有三个按钮,一为[确定],一为[取消],点击[帮助]弹出帮助窗体。
图4-1 启动窗体界面
(二)登录模块设计
登录对话框(如图4-2),输入用户名和密码,若正确则打开主窗体,否则提示密码错误,请重新输入。
图4-2 登录窗体
登录窗体代码如下:
Dim fox As New OleDbConnection, foxcmd As New OleDbCommand
fox.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=xsgl.mdb;Persist Security Info=False"
foxcmd.Connection = fox
foxcmd.CommandText = "select * from users"
fox.Open()
Try
Dim myReader As OleDbDataReader = foxcmd.ExecuteReader(CommandBehavior.CloseConnection Or CommandBehavior.SingleResult Or CommandBehavior.SingleRow)
If myReader.HasRows Then
While myReader.Read()
If Trim(Txtuser.Text) = Trim(myReader("username")) And Trim(Txtpwd.Text) = Trim(myReader("userpwd")) Then
Dim newmain As New frmMain
newmain.Show()
Me.Hide()
use = Txtuser.Text
Else
MsgBox("用户名或密码错误")
Txtuser.Text = ""
Txtpwd.Text = ""
Txtuser.Focus()
Txtpwd.Focus()
fox.Close()
Exit Sub
End If
End While
End If
Catch ex As Exception
MsgBox(ex.Message)
End Try
fox.Close()
End Sub
(三)主窗体设计
主窗体界面如图4-5所示:
图4-5 主窗体界面
主窗体部分代码:
gbTop.Top = Me.tbMain.Height - 3
palLeft.Top = Me.tbMain.Height
gbTop.Width = Me.Width
palLeft.Height = Me.sbMain.Top - Me.tbMain.Top - Me.tbMain.Height
palRight.Top = palLeft.Top
palRight.Width = Me.Width - palLeft.Width - 12
palRight.Height = palLeft.Height
Me.palLogo.Visible = False
Me.palCusFindPrint.Visible = False
Me.palConFindPrint.Visible = False
Me.palStock.Visible = False
Me.palCusFindPrint.Top = 4
Me.palCusFindPrint.Left = 4
Me.palLogo.Top = 4
Me.palLogo.Left = 4
Me.palCusFindPrint.Top = 4
Me.palCusFindPrint.Left = 4
Me.palConFindPrint.Top = 4
Me.palConFindPrint.Left = 4
' Dim myVer As System.Diagnostics.FileVersionInfo = System.Diagnostics.FileVersionInfo.GetVersionInfo("SalesManager.exe")
' labVer.Text = "Ver: " & myVer.FileVersion
Me.palLogo.Visible = True
timMain.Start()
modMain.GetConn()
End Sub
(四)合同信息管理模块
用于管理企业与用户签定的合同。包括合同编号、合同类型、合同对象、付款方式、合同签定日期等。单击查看客户信息按钮可弹出客户详细信息。如图4-7所示。
图4-7 合同信息管理界面
[查看客户信息]按钮的代码如下:
Private Sub btnConCustomerView_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConCustomerView.Click
If Me.cbConCustomer.SelectedIndex = -1 Then
Exit Sub
End If
Try
Dim myConn As OleDbConnection = New OleDbConnection(strConn)
Dim myComm As OleDbCommand = New OleDbCommand
myComm.Connection = myConn
myComm.CommandText = "select id,address,phone,banknumber from customer where name = @name"
myComm.Parameters.Add("@name", Me.cbConCustomer.SelectedItem)
Dim myReader As OleDbDataReader
myConn.Open()
Dim tID As Long
Dim tPhone As String
Dim tAddress As String
Dim tBankNumber As Object
myReader = myComm.ExecuteReader()
While myReader.Read
tID = myReader.GetInt32(0)
tAddress = myReader.GetString(1)
tPhone = myReader.GetString(2)
tBankNumber = myReader.GetString(3)
End While
myConn.Close()
MsgBox("客户编号: " & tID & Chr(10) & "客户姓名: " & Me.cbConCustomer.SelectedItem & Chr(10) & "客户电话: " & tPhone & Chr(10) & "客户地址: " & tAddress & Chr(10) & "银行帐号: " & tBankNumber, MsgBoxStyle.Information, "提示信息")
Catch ex As Exception
MsgBox(Err.Description)
End Try
End Sub
(五)客户信息管理模块
用于管理客户详细信息(如图4-8)。
图4-8 显示客户详细信息界面
[客户信息管理]模块的代码如下:
Private Sub frmCusModify_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim myConn As OleDbConnection = New OleDbConnection(strConn)
Dim myComm As OleDbCommand = New OleDbCommand
myComm.Connection = myConn
myComm.CommandText = "select id from customer"
Dim myReader As OleDbDataReader
myConn.Open()
myReader = myComm.ExecuteReader()
While myReader.Read
cbCusID.Items.Add(myReader.GetInt32(0))
End While
myConn.Close()
Me.txtCusDate.Enabled = False
End Sub
(六)成品信息管理模块
用于管理成品(如图4-10)。
图4-10 显示成品信息界面
[成品信息管理]模块的代码如下:
Private Sub frmProModify_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
txtProDate.Enabled = False
Dim myConn As OleDbConnection = New OleDbConnection(strConn)
Dim myComm As OleDbCommand = New OleDbCommand
myComm.Connection = myConn
myComm.CommandText = "select id from product"
Dim myReader As OleDbDataReader
myConn.Open()
myReader = myComm.ExecuteReader()
While myReader.Read
cbProID.Items.Add(myReader.GetInt32(0))
End While
myConn.Close()
End Sub
(七)合同查找、客户查找界面
合同查找显示企业在一段时间内所执行的合同和为执行的详细信息(如图4-11)。客户查找和打印界面则显示客户的详细信息和加入日期(如图4-12)。
图 4-11 合同查找与打印界面
图4-12 客户查找和打印界面
五、结束语
经过几个月的设计和开发,合同管理系统基本开发完毕。其功能基本符合用户需求,能够完成商品流通过程中所涉及到的基本信息的、输入、修改,查询等动能。并提供部分系统维护功能,提高了软件的安全性和健壮性。此外,本软件对于数据的一致性的问题也通过程序进行了有效的解决。
但现实中的合同管理形式是多种多样的,是由于毕业设计时间较短,需求分析做得不够完善,个人能力以及精力等因素的限制,该系统还有许多不尽如人意的地方。比如功能不是很完善、用户界面不够美观,出错处理不够等多方面问题。这些都有待进一步改善。
参考文献:
【1】刘志妩 张焕君 张秀芝,《数据库编程技术教程》,沈阳,沈阳理工大学,2007-7
【2】张海藩,《软件工程》,北京,人民邮电出版社,2005-1
【3】王珊 萨师煊,《数据库系统概论》(第四版),北京,高等教育出版社,2006-9
【4】 甘仞初,管理信息系统,机械工业出版社
【5】 童爱红 刘凯,VB.NET应用教程,清华大学出版社,北京交通大学出版社
【7】 郑阿奇 等,SQL SERVER 实用教程,清华大学出版社
【8】杨皓,ASP.NET 1.1入门经典--VB.NET 2003 编程篇,清华大学出版社