《案例分析》实训指导书.docx
- 文档编号:15474595
- 上传时间:2023-07-04
- 格式:DOCX
- 页数:33
- 大小:1.71MB
《案例分析》实训指导书.docx
《《案例分析》实训指导书.docx》由会员分享,可在线阅读,更多相关《《案例分析》实训指导书.docx(33页珍藏版)》请在冰点文库上搜索。
《案例分析》实训指导书
《案例分析》实训指导书
随着微机应用的蓬勃发展,VisualBasic开发数据库实用系统目前已应用于诸多领域。
而应用系统开发是一项实践性很强的工作,必须做到多练多用,理论与实践相结合。
为此安排一周VisualBasic开发数据库应用系统的实训,使得学生巩固所学知识,提高编程能力,为应用系统软件开发打下良好的基础。
一、实训课题(四个课题选择其中一个作为实训课题)
1、企业资产管理系统
2、宾馆客房管理系统
3、学生成绩管理系统
4、商品信息管理系统
二、项目系统分析及功能设计(以下是按照企业资产管理系统进行分析和设计)
1、项目系统分析
在现代企业里一直存在着一个很重要但缺乏行之有效的解决之道的问题——企业资产管理。
许多企业在自身企业资产上缺乏统一有效的管理,不能快速、准确地注册、注销、修改资产相关信息以及进行资产信息的查询工作,从而在资产管理中存在着各种各样的漏洞,给企业带来不必要、不可预见的潜在威胁,因此在企业内部创建一个针对资产管理的系统是企业运行管理的必要环节。
2、系统功能分析
应用系统开发的第一步,就是必须了解即将开发的应用系统的特点,明确该系统所需要完成的功能以及各功能之间的相互联系,从而指导系统开发的后续工作,这一步工作即系统功能分析。
企业资产管理系统的主要任务或者功能即:
使用计算机,对企业所有资产进行注册,在需要时进行查找、分类、统计或者增加、修改和删除等操作;可以针对不同的目的,对各种资产进行查询。
企业资产管理系统的功能模块有4个模块,其名称、功能分别为:
资产管理模块:
实现对资产的注册、注销、修改
资产查找模块:
实现按所需条件进行查找功能
打印报表模块:
实现输出数据库中的全体、部分或者个别的资产资料
系统管理模块:
实现用户管理、修改密码等功能
如上分析,本系统的功能模块图如下:
三、系统设计
系统设计包括以下几个方面
●数据库结构设计;
●数据表结构、表关系设计;
●菜单设计;
●窗体界面设计;
●查询设计;
●报表设计;
●系统管理设计
(一)数据库的创建
数据库环境主要有二种选择:
一种是采用SQLServer2000或SQLServer2005,另一种采用Access2000。
本例采用的是Access2000作为后台数据库。
有两种工具可以用于创建VB数据库应用程序需要的Access数据库,使用MicrosoftAccess或者使用VB自带的可视化数据管理器。
(二)数据表的设计
在本系统中,将建立4个数据表,用于存放相关的数据,其名称和功能分别介绍如下:
(1)资产信息表
(2)附件信息表
(3)部门列表
(4)用户表
各数据表的功能略。
(三)窗体的设计
在本系统中,涉及的窗体有14个,用于完成不同的功能,这些窗体的名称和基本功能略
(四)主模块的创建
在VB中,模块是一种特定的对象,用于保存可以在各个窗体中调用的共同代码。
在本系统中,将创建一个主模块,来保存整个程序的公用变量和启动过程。
在VB菜单栏中选取“工程”菜单,并在下拉菜单中选择“添加模块”,系统将弹出“添加模块”对话框,选择“模块”,单击“打开”按钮。
系统将自动向工程中添加模块。
在工程资源管理器中双击新生成的模块,打开模块代码设计视图,在属性窗口中设置其名称为MdlMain。
(五)报表设计器的创建
本系统中,有一个数据环境,三个报表设计器
(六)代码的编写
在程序界面设计完毕之后,将逐一向各个窗体和模块添加代码。
各窗体代码附后。
四、系统运行及调试
在本系统中,设置启动对象为主过程SubMain。
选取菜单栏中“工程”,并选择下拉菜单中的“企业资产管理系统属性”命令,将打开“工程属性”窗体,选择其“通用”选项卡。
单击“启动对象”组合框右侧的按钮,弹出下拉列表,选择窗体SubMain,单击“确定”按钮。
将SubhMain设置为启动对象。
选取VB菜单栏的“运行”菜单,在弹出的下拉菜单中选择“启动”命令,或者直接按下F5键,均可启动当前工程。
通过主窗体的菜单栏,可以在各个功能间切换。
如在运行过程中出现问题,应查找原因解决问题,使之能够正确运行。
五、时间安排
本课程理论教学结束后,安排在十七周课程实训。
六、课程实训总结
1、在实训中对所学知识的理解和掌握。
2、在实训中协调合作的能力及创新的思想。
注:
文中所给出的模块和目录文件仅供参考,实训时,每个小组可根据实际情况确定系统中的模块、建立的文件个数以及数据表结构。
附:
企业资产管理系统
主模块代码:
PublicDFUserAsString
PublicUserTypeAsString
PublicconstrAsString
Publicdbstr1AsString
PublicSubMain()
dbstr1=App.Path&"\database\资产管理系统97.mdb"
constr="PROVIDER=Microsoft.Jet.OLEDB.3.51;DataSource="&App.Path&"\database\资产管理系统97.mdb;"
DataEnvironment1.Connection1.ConnectionString=constr
Frmflash.Show
EndSub
PublicSubdeldata(ByValtnAsString)'删除指定表中所有记录,对于"用户表"添加一个系统用户
'在"工程"菜单中的"引用"命令里选择'OLEAutomation'
'在"工程"菜单中的"引用"命令里选择'MicrosoftActiveXDataObject17.6Library'
DimconnAsADODB.Connection
DimrstAsADODB.Recordset
Setconn=NewADODB.Connection
conn.ConnectionString=constr
conn.Open
Setrst=NewADODB.Recordset
Setrst.ActiveConnection=conn
rst.CursorType=adOpenDynamic
rst.LockType=adLockPessimistic
rst.Opentn
WhileNotrst.EOF
rst.Delete
rst.MoveNext
Wend
Iftn="用户表"Then
rst.AddNew
rst(0)=1
rst
(1)="1234"
rst
(2)="1234"
rst(3)="系统管理员"
rst.Update
EndIf
rst.Close
conn.Close
EndSub
展示窗体:
代码:
PrivateSubForm_Click()
UnloadMe
Frmlogin.Show
EndSub
PrivateSubForm_Unload(CancelAsInteger)
UnloadMe
Frmlogin.Show
EndSub
PrivateSubTimer1_Timer()
UnloadMe
Frmlogin.Show
EndSub
登录窗体:
代码:
PrivateSubCommand1_Click()
DimstrAsString
str="用户名称='"&Combo1.Text&"'"
Me.Data1.Recordset.FindFirststr
IfNotMe.Data1.Recordset.Fields
(2)=Text1.TextThen
MsgBox"密码错误!
"
ExitSub
EndIf
DFUser=Combo1.Text
UserType=Data1.Recordset.Fields(3)
frmmain.Show
UnloadMe
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubForm_Load()
Data1.DatabaseName=dbstr1
Data1.RecordSource="用户表"
Data1.Refresh
Combo1.Clear
Data1.Recordset.MoveFirst
WhileNotData1.Recordset.EOF
Combo1.AddItemData1.Recordset.Fields
(1)
Data1.Recordset.MoveNext
Wend
EndSub
主窗体:
代码:
PrivateSubexit_Click()
End
EndSub
PrivateSubMDIForm_Load()
IfUserType="系统管理员"Then
mnuSystemUser.Visible=True
mnuSystemPassWord.Visible=True
mnuSystemClear.Visible=True
ElseIfUserType="高级用户"Then
mnuSystemUser.Visible=False
mnuSystemPassWord.Visible=True
mnuSystemClear.Visible=True
ElseIfUserType="普通用户"Then
mnuSystemUser.Visible=False
mnuSystemPassWord.Visible=True
mnuSystemClear.Visible=False
EndIf
frmmain.Caption=frmmain.Caption&"-"&UserType
EndSub
PrivateSubmnuAddFj_Click()
frmAddFj.Show
EndSub
PrivateSubmnuGLEdit_Click()
frmEdit.Show
EndSub
PrivateSubmnuGLNew_Click()
frmNew.Show
EndSub
PrivateSubmnuPrintAll_Click()
frmPrintAll.Show
EndSub
PrivateSubmnuPrintFJ_Click()
frmPrintFJ.Show
EndSub
PrivateSubmnuPrintZC_Click()
frmPrintZC.Show
EndSub
PrivateSubmnuSearchByID_Click()
DimstrAsString
str=InputBox("请输入资产编号:
","查找")
Ifstr=""Then
ExitSub
EndIf
LoadfrmEdit
frmEdit.datPrimaryRS.ConnectionString=constr
frmEdit.datPrimaryRS.RecordSource="select资产编号,资产分类,资产名称,资产型号,生产单位,购买日期,购买价格,使用部门,负责人,使用状况,使用年限,注销日期,备注,注销from资产信息表where资产编号="&str
frmEdit.datPrimaryRS.Refresh
IffrmEdit.datPrimaryRS.Recordset.RecordCount=0Then
MsgBox"没有相应的记录!
"
UnloadfrmEdit
ExitSub
Else
frmEdit.Show
EndIf
EndSub
PrivateSubmnuSearchMany_Click()
frmSearch.Show
EndSub
PrivateSubmnuSystemBackPicture_Click()
OnErrorResumeNext
CommonDialog1.ShowOpen
frmmain.Picture=LoadPicture(CommonDialog1.FileName)
EndSub
PrivateSubmnuSystemClear_Click()
IfMsgBox("本功能要清除系统中所有数据,真的初始化吗?
",vbYesNo,"确认初始化操作")=vbYesThen
Calldeldata("资产信息表")
Calldeldata("附件信息表")
Calldeldata("用户表")
Calldeldata("部门列表")
MsgBox"系统初始化完毕,下次只能以1234/1234(用户名/口令)进入本系统",vbOKOnly,"信息提示"
EndIf
EndSub
PrivateSubmnuSystemPassWord_Click()
frmEditPassWord.Show
EndSub
PrivateSubmnuSystemUser_Click()
frmUserGL.Show
frmUserGL.ZOrder0
EndSub
PrivateSubnnuGLDel_Click()
frmDel.Show
EndSub
PrivateSubTimer1_Timer()
StatusBar1.Panels
(2).Text=Now
EndSub
注册新资产:
代码:
PrivateSubcmdAddFj_Click()
LoadfrmAddFj
frmAddFj.txtFields(0).Text=Me.txtFields(0).Text
frmAddFj.Show
UnloadMe
EndSub
PrivateSubcmdCancel_Click()
UnloadMe
EndSub
PrivateSubcmdnext_Click()
Adodc1.Refresh
Adodc1.Recordset.AddNew
EndSub
PrivateSubcmdSave_Click()
DimmsgAsString
DimerrormsgAsString
IftxtFields(0).Text=""Then
errormsg=MsgBox("请输入资产编号!
",vbCritical+vbOKOnly,"错误!
")
txtFields(0).SetFocus
ExitSub
EndIf
IftxtFields
(1).Text=""Then
errormsg=MsgBox("请输入资产分类!
",vbCritical+vbOKOnly,"错误!
")
txtFields
(1).SetFocus
ExitSub
EndIf
IftxtFields
(2).Text=""Then
errormsg=MsgBox("请输入资产名称!
",vbCritical+vbOKOnly,"错误!
")
txtFields
(2).SetFocus
ExitSub
EndIf
msg=MsgBox("增加记录吗?
",vbInformation+vbOKCancel,"增加记录")
Ifmsg="1"Then
Adodc1.Recordset.Update
cmdAddFj.Enabled=True
Else
ExitSub
EndIf
EndSub
PrivateSubForm_Load()
Adodc1.ConnectionString=constr
Adodc1.RecordSource="select资产编号,资产分类,资产名称,资产型号,生产单位,购买日期,购买价格,使用部门,负责人,使用状况,使用年限,注销日期,备注,注销from资产信息表"
Adodc1.Refresh
Adodc1.Recordset.AddNew
cmdAddFj.Enabled=False
EndSub
增加附件:
代码:
PrivateSubcmdAdd_Click()
DimmsgAsString
DimerrormsgAsString
IftxtFields(0).Text=""Then
errormsg=MsgBox("请输入资产编号!
",vbCritical+vbOKOnly,"错误!
")
txtFields(0).SetFocus
ExitSub
EndIf
IftxtFields
(1).Text=""Then
errormsg=MsgBox("请输入附件编号!
",vbCritical+vbOKOnly,"错误!
")
txtFields
(1).SetFocus
ExitSub
EndIf
msg=MsgBox("增加记录吗?
",vbInformation+vbOKCancel,"增加记录")
Ifmsg="1"Then
Adodc1.Recordset.Update
Else
ExitSub
EndIf
EndSub
PrivateSubcmdCancel_Click()
UnloadMe
EndSub
PrivateSubcmdnext_Click()
Adodc1.Refresh
Adodc1.Recordset.AddNew
EndSub
PrivateSubcmdReturnFrmnew_Click()
UnloadMe
frmNew.Show
EndSub
PrivateSubForm_Load()
Adodc1.ConnectionString=constr
Adodc1.RecordSource="select资产编号,附件编号,附件类型,附件名称,附件型号,附件价格,使用状态from附件信息表Orderby附件编号"
Adodc1.Refresh
Adodc1.Recordset.AddNew
EndSub
注销旧资产:
代码:
PrivateSubCommand1_Click()
Dimmsg1AsString
Dimmsg2AsString
msg1=MsgBox("删除记录吗?
",vbInformation+vbOKCancel,"删除记录")
Ifmsg1="1"Then
msg2=MsgBox("删除附件记录吗?
",vbInformation+vbOKCancel,"删除记录")
Ifmsg2="1"Then
Adodc1.Recordset.MoveFirst
WhileNotAdodc1.Recordset.EOF
IfAdodc1.Recordset.Fields(0)=txtFields(0).TextThen
WithAdodc1.Recordset
.Delete
.MoveNext
EndWith
EndIf
Wend
EndIf
WithdatPrimaryRS.Recordset
.Delete
.MoveNext
If.EOFThen.MoveLast
EndWith
Else
ExitSub
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubdatPrimaryRS_MoveComplete(ByValadReasonAsADODB.EventReasonEnum,ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset)
IfdatPrimaryRS.Recordset.BOFThen
datPrimaryRS.Recordset.MoveFirst
EndIf
IfdatPrimaryRS.Recordset.EOFThen
datPrimaryRS.Recordset.MoveLast
EndIf
datPrimaryRS.Caption="设备编号:
"&CStr(datPrimaryRS.Recordset.Fields(0))
Adodc1.ConnectionString=constr
Adodc1.RecordSource="select资产编号,附件编号,附件类型,附件名称,附件型号,附件价格,使用状态from附件信息表where资产编号like"&Trim(datPrimaryRS.Recordset.Fields(0))&"Orderby附件编号"
Adodc1.Refresh
EndSub
PrivateSubForm_Load()
datPrimaryRS.ConnectionString=constr
datPrimaryRS.RecordSource="select资产编号,资产分类,资产名称,资产型号,生产单位,购买日期,购买价格,使用部门,负责人,使用状况,使用年限,注销日期,备注,注销from资产信息表"
datPrimaryRS.Refresh
EndSub
编辑现有资产:
代码:
PrivateSubCommand1_Click()
DimmsgAsString
msg=MsgBox("保存记录修改吗?
",vbInformation+vbOKCancel,"保存记录")
Ifmsg="1"Then
datPrimaryRS.Recordset.UpdateBatch
Else
ExitSub
EndIf
EndSub
PrivateSubCommand2_Click()
UnloadMe
EndSub
PrivateSubCommand3_Click()
LoadfrmAddFj
frmAddFj.txtFields(0).Text=Me.txtFields(0).Text
frmAddFj.Show
EndSub
PrivateSubCommand4_Click()
DimmsgAsString
msg=MsgBox("删除记录吗?
",vbInformation+vbOKCancel,"删除记录")
Ifmsg="1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 案例分析 案例 分析 指导书