可视化编程
辽 宁 工 业 大 学
课程
(论文)
目: 公司事务管理系统
院(系):
专业班级:
学 号: 、
学生姓名:
指导教师:
教师职称:
起止时间: 4
课程设计(论文)任务及评语
辽 宁 工 业 大 学 课 程 设 计 说 明
(论 文)
目 录
第1章 课程设计目的与要
求 ..................................................................................................... 1
1.1 课程设计目
的 ........................................................................................................... 1
1.2 课程设计的实验环
境 ............................................................................................... 1
1.3 课程设计的预备知
识 ............................................................................................... 1
1.4 课程设计要
求 ........................................................................................................... 1
第2章 课程设计内
容....................................................................................................... 2
2.1 系统功能设
计 ........................................................................................................... 2
2.2 系统详细设
计 ........................................................................................................... 3
2.3 系统运行与测
试 ....................................................................................................... 14
第3章 课程设计总
结....................................................................................................... 16 参考文献 ................................................................................................................................ 17
工 业 大 学 课 程 设 计 说 明 书(论 文) 辽 宁
第1章 课程设计目的与要求
1.1 课程设计目的
本课程的课程设计实际是学生学习完《可视化编程技术》课程后,进行的一次全面的综合训练,其目的在于加深对可视化编程技术基本知识的理解,掌握运用VB开发应用程序的基本
及基本技巧。
1.2 课程设计的实验环境
硬件要求能运行Windows 9.X操作系统的微机系统。
软件:Microsoft Visual Basic 6.0
Microsoft SQL Server
1.3 课程设计的预备知识
熟悉Visual Basic 6.0程序设计的基本语法知识及常用技巧。
1.4 课程设计要求
按课程设计指导书提供的课题,每个小组设计一个完整的管理系统应用程序。要求根据规定设计系统的具体要求,按照应用程序的设计步骤和VB的基本知识应用程序的分析与实现。应根据基本学时分配合理安排设计时间,并独立完成各方面的设计。选择同一题目的同学,可以共同协作完成一个应用程序的开发任务。要求书写详细的设计说明书,对有复杂的代码段和程序段的部分,应画出程序流程图,写出全部的代码。在界面设计中,需画出每个窗体的布局,进行属性说明,杜绝雷同。
1
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
第2章 课程设计内容
2.1系统功能设计
2.1.1 系统功能分析
图2.1系统功能模块图
2
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
公司的业务管理主要包括文档管理,财产管理、设备管理、订单管理等,其中文档管理有包括了文件管理、文件查询、信函管理、信函查询、投诉管理、投诉
查询、报表管理、报表查询等,财产管理包括了财产登记、维修、投保、增减等,设备管理还包括了管理、查询等,如果用传统的方法来管理这些数据,不但会造成人力、物力、财力上的浪费,还极容易产生错误,由此产生的损失将是不可估量的。
那么,如何科学、全面、高效地对办公事务进行管理呢,利用计算机技术,实现管理系统的自动化、规模化就是解决这个问题的最好办法。根据国内企事业单位办公管理的实际情况编写的事务管理系统事例内容全面,分类科学。它集显示、输入、添加、修改、删除等各种处理为一体,信息维护起来非常方便。利用此系统,用户可以方便地浏览信息,找到需要的信息并对其进行修改。将上述所有的事务集中在一起进行管理,只需要一个软件就可以实现了,从而极大地减少了错误的发生,不但为公司节省了资源,还避免了不必要的损失。
根据需求分析,设计的公司事务管理系统的模块组织结构如图2.1所示。
2.2系统详细设计
2.2.1 主窗体模块设计
1.界面设计
如图:2.2主窗体模块设计
2.代码设计
Private Sub MDIForm_Load()
If userpow = "guest" Then
adduser.Enabled = False
End If
3
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
select_menu = ""
End Sub
Private Sub shebeibrow_Click()
frmshebei.Show
frmshebei.SetFocus
End Sub
Private Sub shebeifind_Click()
frmshebeifind.Show
End Sub
Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select
Case Button.Key „按关键字选择
Case "bt_wendang" „文档按钮
frmwendang.Show
frmwendang.SetFocus
Case "bt_caichan" „财产按钮
frmcaichan.Show
frmcaichan.SetFocus
Case "bt_dingdan" „订单按钮
frmdingdan.Show
frmdingdan.SetFocus
Case "bt_shebei" „设备按钮
frmshebei.Show
frmshebei.SetFocus
Case "bt_tuichu" „退出按钮
End
conn.Close
Set conn = Nothing
End Select
End Sub
Private Sub tousu_Click()
4
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
select_menu = "kehu"
frmwendang.Show
frmwendang.SetFocus
End Sub
Private Sub tousufind_Click() frmwenjianfind.Show
End Sub
Private Sub xingwen_Click()
select_menu = "xingwen"
frmwendang.Show
frmwendang.SetFocus
End Sub
Private Sub xinhan_Click()
select_menu = "xinhan"
frmwendang.Show
frmwendang.SetFocus
End Sub
Private Sub xinhanfind_Click() frmwenjianfind.Show
End Sub
2.2.2 公司事务管理模块设计
1界面设计
5
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
如图:2.3登陆系统
2.代码设计
Private Sub Command1_Click()
Dim sql As String
Dim rs_login As New ADODB.Recordset
If Trim(txtuser.Text) = "" Then „判断输入的用户名是否
ot;, vbOKOnly + vbExclamation, 为空 MsgBox "没有这个用户&qu
""
txtuser.SetFocus
Else
sql = "select * from 系统管理 where 用户名=„" & txtuser.Text
& "?" rs_login.Open sql, conn, adOpenKeyset,
adLockPessimistic
If rs_login.EOF = True Then
MsgBox "没有这个用户", vbOKOnly + vbExclamation, ""
txtuser.SetFocus
Else „检验密码是否正确
If Trim(rs_login.Fields(1)) = Trim(txtpwd.Text) Then
userID = txtuser.Text
userpow = rs_login.Fields(2)
rs_login.Close
Unload Me
MDIForm1.Show
Else
MsgBox "密码不正确", vbOKOnly + vbExclamation, ""
6
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
txtpwd.SetFocus
End If
End If
End If
cnt = cnt + 1
If cnt = 3 Then
Unload Me
End If
Exit Sub
End Sub
功能:1)添加一个窗体,并将该窗体的MDIChild属性为Ture,该窗体就成了
系统的主窗体的子窗体。
2)添加一个SSTab控件并设置这个选项卡的数目和标题。在每一个选项卡页 cmdadd
b.Command 2 Caption 删除
Name cmddel
c.Command 3 Caption 修改记录
Name cmdmodify
d.Command 4 Caption 取消
Name cmdcancel
2.2.3修改密码系统模块设计
1.界面设计
7
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
如图2.4修改密码系统
2.代码设计:
Private Sub Command1_Click()
Dim rs_chang As New ADODB.Recordset
Dim sql As String
If Trim(Text1.Text) <> Trim(Text2.Text) Then
MsgBox "密码不一致~", vbOKOnly + vbExclamation, ""
Text1.SetFocus
Text1.Text = ""
Text2.Text = ""
Else
sql = "select * from 系统管理 where 用户名=„" & userID &
"?"
rs_chang.Open sql, conn, adOpenKeyset, adLockPessimistic
rs_chang.Fields(1) = Text1.Text
Private Sub DataGrid1_Click()
End Sub
Private Sub Form_Load()
Dim sql As String
On Error GoTo loaderror
sql = "select * from 订单管理"
rs_dingdan.CursorLocation = adUseClient
rs_dingdan.Open sql, conn, adOpenKeyset, adLockPessimistic „打开数据
8
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
库
„设定datagrid控件属性
DataGrid1.AllowAddNew = False „不可增加 DataGrid1.AllowDelete = False „不可删除 DataGrid1.AllowUpdate = False
Set DataGrid1.DataSource = rs_dingdan
Exit Sub
loaderror:
MsgBox Err.Description
End Sub
Private Sub Command2_Click()
Unload Me
End Sub
Private Sub Form_Load()
End Sub
功能:
画出相应的控件,将窗体命名为:修改密码
2.2.4会议管理系统模块
1.界面设计
如图2.5会议管理系统模块
2.代码设计:
Private Sub cmdadd_Click()
9
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
Dim i As Integer
On Error GoTo adderror
If cmdadd.Caption = "增加记录" Then
„当此按钮的状态为为“增加记录”时
cmdadd.Caption = "确定" „按钮名称改为“确定”
cmddel.Enabled = False „
可用
cmdmodify.Enabled = False
cmdcancel.Enabled = True
Select Case SSTab1.Tab
Case 0
DataGrid1.AllowAddNew = True
DataGrid1.AllowUpdate = True „
以增加记录
bm = DataGrid1.Bookmark
Case 1
DataGrid2.AllowAddNew = True
DataGrid2.AllowUpdate = True „
以增加记录
DataGrid4.AllowAddNew = True
DataGrid4.AllowUpdate = True „
以增加记录
bm = DataGrid2.Bookmark
End Select
Else
Select Case SSTab1.Tab
Case 0
If Not IsNull(DataGrid1.Bookmark) Then
10 删除与修改按钮不设定datagrid可设定datagrid可设定datagrid可
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
If Not IsDate(Trim(DataGrid1.Columns("登记日期
").CellText(DataGrid1.Bookmark))) Then
MsgBox "请按照格式yyyy-mm-dd输入登记日期", vbOKOnly + vbExclamation, ""
Exit Sub
End If
If Trim(DataGrid1.Columns("财产编号
").CellText(DataGrid1.Bookmark)) = "" Then
MsgBox "财产编号不能为空~", vbOKOnly + vbExclamation, "" Exit Sub
End If
rs_dengji.Update
MsgBox "添加信息成功~", vbOKOnly + vbExclamation, ""
DataGrid1.AllowAddNew = False
DataGrid1.AllowUpdate = False
Else
MsgBox "没有添加信息~", vbOKOnly + vbExclamation, ""
End If
Case 1
If Not IsNull(DataGrid2.Bookmark) Then
If Not IsDate(Trim(DataGrid2.Columns("请修日期
").CellText(DataGrid2.Bookmark))) Then
MsgBox "请按照格式yyyy-mm-dd输入请修日期", vbOKOnly +
vbExclamation, ""
Exit Sub
End If
If Trim(DataGrid2.Columns("财产编号
").CellText(DataGrid2.Bookmark)) = "" Then
MsgBox "财产编号不能为空~", vbOKOnly + vbExclamation, "" Exit Sub
11
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
End If
rs_weixiu.Update
MsgBox "添加信息成功~", vbOKOnly + vbExclamation, ""
DataGrid2.AllowAddNew = False
DataGrid2.AllowUpdate = False
Else
MsgBox "没有添加信息~", vbOKOnly + vbExclamation, ""
End If
Case 2
If Not IsNull(DataGrid3.Bookmark) Then
Exit Sub
End If
rs_toubao.Update
MsgBox "添加信息成功~", vbOKOnly + vbExclamation, ""
DataGrid3.AllowAddNew = False
DataGrid3.AllowUpdate = False
Else
MsgBox "没有添加信息~", vbOKOnly + vbExclamation, ""
End If
Case 3
If Not IsNull(DataGrid4.Bookmark) Then
If Trim(DataGrid4.Columns("产品编号
").CellText(DataGrid4.Bookmark)) = "" Then
MsgBox "财产编号不能为空~", vbOKOnly + vbExclamation, "" Exit Sub
End If
rs_zengjian.Update
MsgBox "添加信息成功~", vbOKOnly + vbExclamation, ""
DataGrid4.AllowAddNew = False
12
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
DataGrid4.AllowUpdate = False
Else
MsgBox "没有添加信息~", vbOKOnly + vbExclamation, ""
End If
End Sub
Private Sub SSTab1_Click()
End Sub功能:添加一个窗体命名为:frmdingdanfind
画出相应的控件并对控件进行命名
添加一个DataGrid1窗体
将Enable属性设置为true
将Drawstyle属性设置为0-Solid
2.2.3 数据库访问技术
ADO 2.0对象模型是由七个对象组成的,它们中的大多数在功能上和RDO对象相似,只不过具有更强的功能性而已。
Command对象:包含关于某个命令,例如查询字符串、参数定义等的信息。Command对象在功能上和RDO的rdoQuery对象相似。
Connection对象:包含关于某个数据提供程序的信息。Connection对象在功能上和RDO的rdoConnection对象是相似的,并且包含了关于结构描述的信息。它还包含某些RDOEnvironment对象的功能, 例如transaction控件。
Error对象:包含数据提供程序出错时的扩展信息。Error对象在功能上和RDO的rdoError对象相似。
Field对象:包含记录集中数据的某单个列的信息。Field对象在功能上和RDO的rdoColumn对象相似。
Parameter对象:包含参数化的Command对象的某单个参数的信息。该Command对象有一个包含其所有Parameter对象的Parameters集合。Parameter对象在功能上和RDO的rdoParameter对象相似。
Property对象:包含某个ADO对象的提供程序定义的特征。没有任何等同于该对象的RDO,DAO有一个相似的对象。
ADO对象可以具有两种属性:
13
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
Built-In属性:ADO的“本地”属性。也就是说,任何使用熟悉的MyObject.Property语法的新对象都可以立即使用的ADO中的属性。Built-in属性并不在某个对象的
Properties集合中以Property对象的形式出现,因此尽管您可以修改它们的值,您却不能修改它们的特性或将它们删除。
OLE DB是COM(COM是微软提出的一种中间件模型,从COM到DCOM,再到COM+)模型的数据库接口。OLD DB是一系列的接口集合。是新的低层接口,它介绍了一种“通用的”数据访问方法。也就是说,OLE DB并不局限于TóúI、AM?甚至关系数据源,但是它能够处理任何类型的数据。OLE DB向应用程序提供一个统一的数据访问方法,而不考虑它们的格式和存储方法。在实际应用中,这种多样性意味着可以访问驻留在电子数据表、文
2.3 系统运行与测试
1.系统的运行:
如图2.6系统运行
2. 功能测试
(1)白盒测试法
所谓的白盒测试发就是启动单个窗体,如图2.7添加用户
14
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
如图2.7添加用户
添加读者类型中各种信息,使窗体运行,并得到应答到的效果,则运行正常。如果有异常的情况,则该窗体有问题,不能使用。、
(2)黑盒测试法
所谓的黑盒测试发就是整个系统中的窗体被设计完成后,启动整个系统,没有发现异常的现象,则该系统可能正常。如发现异常,则重新输入代码,使系统正常运行,然后进入各个窗体,输入相应的信息,并执行该操作,正常运行的话,则系统一定没有任何毛病,运行时则没有任何反映,检查一下该系统跟数据库是否连在一起,如果连在一起,可能是没有声名语句,使之与数据库有桥梁关系,没连在一起,利用SQL或ADO中的那一种连起来,在运行。就可以成功的运行了。
15
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
第3章 课程设计总结
16
辽 宁 工 业 大 学 课 程 设 计 说 明 书(论 文)
参考文献
17