ion
使用Connection对象的Open方法连接到指定的数据库。
Conn.Open"driver={MicrosoftAccessDriver(*.mdb)};dbq="&DbPath,"sa","LiuYang"
②使用Recordset对象:
先声明变量
DimRSASADODB.Recordset
使用Set语句生成Recordset对象的一个实例,并赋值给变量RS:
SetRS=NewADODB.Recordset
使用Recordset对象的Open方法,将查询字符串传递给Connection对象指定的数据库。数据库服务器接收到这个查询字符串后,将查询结果返回到RS对象。
6.2系统主要功能的具体设计
库存信息管理系统共有1个界面,5个窗体,包括5个主菜单。现具体介绍如下;
①系统主界面如下图所示:
图6-1系统主界面
②项目设置窗体如下:
图6-2项目设置窗体
项目设置代码设计:
PrivateSubToolbar5_Butt(ByValButtonAsMSComctlLib.Button)
SelectCaseButton.Index
Case1''前进
Data5.Recordset.MovePrevious
IfData5.Recordset.BOF=TrueThen
Data5.Recordset.MoveFirst
EndIf
Case2''后退
Data5.Recordset.MoveNext
IfData5.Recordset.EOF=TrueThen
Data5.Recordset.MoveLast
EndIf
Case4''增加
GoToadd_error
Data5.Recordset.AddNew
'Data1.Recordset("建户时间")=Date
add_error:
IfErr.Number=3426Then
MsgBox"已经使用过添加记录!错误:"&Err&","&Err.Description,0,"提示"
UnloadMe
EndIf
Text21.Visible=False
Toolbar5.Buttons(1).Visible=False
Toolbar5.Buttons(2).Visible=False
Toolbar5.Buttons(4).Visible=False
Toolbar5.Buttons(5).Visible=True
Toolbar5.Buttons(6).Visible=True
Toolbar5.Buttons(7).Visible=False
Case5''确定
GoToupdate_error
IfText3.Text=""Then
MsgBox"必须填写售电员!",0,"提示"
ExitSub
EndIf
Data5.Recordset("分类")=DBCombo1.Text
Data5.UpdateRecord
Data5.Recordset.Bookmark=Data1.Recordset.LastModified
update_error:
IfErr.Number=3020Then
MsgBox"请先添加记录!错误:"&Err&","&Err.Description,0,"提示"
UnloadMe
EndIf
Text21.Visible=True
Toolbar5.Buttons(1).Visible=True
Toolbar5.Buttons(2).Visible=True
Toolbar5.Buttons(4).Visible=True
Toolbar5.Buttons(5).Visible=False
Toolbar5.Buttons(6).Visible=False
Toolbar5.Buttons(7).Visible=True
Case6''取消
GoToCanceErr
Data5.Recordset.Edit
Data5.Recordset.CancelUpdate
Text21.Visible=True
Toolbar5.Buttons(1).Visible=True
Toolbar5.Buttons(2).Visible=True
Toolbar5.Buttons(4).Visible=True
Toolbar5.Buttons(5).Visible=False
Toolbar5.Buttons(6).Visible=False
Toolbar5.Buttons(7).Visible=True
CanceErr:
IfErr.Number=3021Then
MsgBox"没有记录!错误:"&Err&","&Err.Description,0,"提示"
EndIf
Case7''删除
GoTodel_error
a=MsgBox("真的删除吗?",vbExclamation+vbOKCancel+vbApplicationModal,"删除记录")
Ifa=1Then
Data5.Recordset.Delete
Data5.Recordset.MoveLast
EndIf
Ifa=2ThenExitSub
del_error:
IfErr.Number=3426Then
MsgBox"已经全部删除!错误:"&Err&","&Err.Description,0,"提示"
UnloadMe
EndIf
EndSelect
EndSub
③产品入库窗体如下:
图6-3产品入库窗体
产品入库代码设计:
PrivateSubCommand1_Click()
IfVal(Text1.Text)<=0Then
MsgBox"请输入入库数量!"
ExitSub
EndIf
IfDBCombo2.Text=""Then
MsgBox"请选择入库材料名称!"
ExitSub
EndIf
IfDBCombo4.Text=""Then
MsgBox"请选择经手人!"
ExitSub
EndIf
DimaAsInteger
a=MsgBox("********你确定此操作吗?**********"&vbCrLf_
&"材料名称:"&DBCombo2.Text&vbCrLf_
&"原库存量:"&Label4.Caption&Label5.Caption&vbCrLf_
&"本次入库:"&Text1.Text&Label5.Caption&"单价:"&Text2.Text&"元"&vbCrLf_
&"供应商:"&DBCombo3.Text&vbCrLf_
&"经手人:"&DBCombo4.Text&vbCrLf_
,vbExclamation+vbOKCancel+vbApplicationModal,"提示")
Ifa=1Then
Data5.Recordset.AddNew
Data5.Recordset("名称")=DBCombo2.Text
Data5.Recordset("供应商")=DBCombo3.Text
Data5.Recordset("数量")=Text1.Text
Data5.Recordset("单价")=Text2.Text
Data5.Recordset("经手")=DBCombo4.Text
Data5.Recordset("日期")=Date
Data5.Recordset("时间")=Time
Data5.UpdateRecord
Data5.Recordset.Bookmark=Data5.Recordset.LastModified
'************************
Data2.Recordset.Edit
Data2.Recordset("数量")=Val(Label4.Caption)+Val(Text1.Text)
Data2.Recordset.Update
MsgBox"入库成功!"
'asPopup4.Enabled=True
EndIf
Ifa=2ThenExitSub
EndSub
④查询打印窗体如下:
图6-4查询打印窗体
查询打印代码设计:
查询部分:
PrivateSubasPopup1_Click(CancelAsBoolean)
IfDataEnvironment1.rsCommand2.State<>adStateClosedThen
DataEnvironment1.rsCommand2.Close
EndIf
DataEnvironment1.Commands("Command2").Parameters(0)=CStr(DTPicker1.Value)
DataEnvironment1.Commands("Command2").Parameters(1)=CStr(DTPicker2.Value)
DataGrid1.DataMember="Command2"
SetDataGrid1.DataSource=DataEnvironment1
EndSub
打印部分:
PrivateSubasPopup11_Click(CancelAsBoolean)
IfDataEnvironment1.rsCommand2.State<>adStateClosedThen
DataEnvironment1.rsCommand2.Close
EndIf
DataEnvironment1.Commands("Command2").Parameters(0)=CStr(DTPicker1.Value)
DataEnvironment1.Commands("Command2").Parameters(1)=CStr(DTPicker2.Value)
DataGrid1.DataMember="Command2"
SetDataGrid1.DataSource=DataEnvironment1
DataReport3.Show
DataReport3.Sections(2).Controls("Label13").Caption="开始时间:"&CStr(DTPicker1.Value)
DataReport3.Sections(2).Controls("Label14").Caption="结束时间:"&CStr(DTPicker2.Value)
EndSub
第七章程序安装与调试
7.1调试
系统调试的目的是发现程序和系统中的错误并及时予以纠正。在一个系统中调试应该包括程序调试、功能调试(分调)、总调,在库存管理系统中用的调试方法也包括这些:
1.程序调试
包括语法调试和逻辑检查,测试数据除采用正常数据外,还应用一些异常资料,用来考验程序的正确性。
①用正常资料调试。
②用异常资料调试。
③用错误资料调试。
2.分调
即将一个功能内所有程序按次序串联起来调试。
3.总调
将主控制调度程序和功能模块联结起来调试。
7.2测试
测试是系统开发周期中一个十分重要的阶段,其重要性体现在它是保证系统质量与可靠性的最后关口,是对整个系统开发过程的最终审查,如果错误不能在测试阶段被发现并纠正,就会造成不堪设想的后果。在库存管理系统中测试的对象不仅仅是源程序,而是整个软件。系统测试是以找错误为目的,不是要证明程序无错,而是要精心选取那些易于发生错误的测试数据,以十分挑剔的态度,证明程序有错。
在开发库存管理系统中,所用到的测试方法有人工测试和机器测试。在人工测试中用的是个人复查,即当源程序编完以后,由自己进行检查,但这种测试方法存在不足之处:由于心理上对自己程序的偏爱,因此有些习惯性的错误不易发现,如果对功能理解有误,自己也不易纠正,所以在个人复查的基础上又用了机器测试中的白盒测试和黑盒测试。
(1)白盒测试:也称结构测试,将软件看作一个透明的白盒子,按照程序的内部结构和处理逻辑来选定测试用例,对软件的逻辑路径及过程进行测试,检查它与设计是否符。在进行白盒测试时,开发者对其软件进行测试,在完全了解系统功能、内部结构的前提下对系统进行测试,看实现的功能与想要实现的设计有什么冲突不符,并及时改正。
(2)黑盒测试:也称功能测试,将软件看作黑盒子,在完全不考虑程序的内部结构和特性的情况下,测试软件的外部特性,根据软件的需求规格说明书设计测试用例,从程序的输入和输出特性上测试是否满足设定的功能。在进行黑盒测试时,开发者以使用者的身份对其软件进行测试,多次输入符合条件的数据,看结果是否与预期相符,如果相符则说明程序对输入的条件反映正确,如果不符则说明程序有错,所以这种黑盒测试只能证明程序有错而不能证明程序无错。
结束语
通过这次毕业设计,我掌握了Accesss数据库的编程方法,掌握了VisualBasic企业版视化面向对象的编程语言的使用方法。对目前流行的软件开发方法和手段,有了一定的认识,丰富了软件开发的经验,提高了编制程序的水平,加深理解了许多课程中、书本上学到的知识和理论。同时通过编写毕业设计论文,我还掌握了软件文档的书写方法和书写格式。
因为初次开发一个
上一篇:
VB库存管理系统2(论文+开题报告+源代码)(论文和程序)
下一篇:
法律专业开题报告范文