库存管理系统设计分析_第1页
库存管理系统设计分析_第2页
库存管理系统设计分析_第3页
库存管理系统设计分析_第4页
库存管理系统设计分析_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

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

文档简介

1、软件工程课程作业文档题目:公司进销存管理系统年级:2008级组长:王冠宇设计人员:纪英鹏尚舒节王伟完成时间:2011.4.12设计小组人员及分工王冠宇3008212050分析“进销存管理”的需求信息,并确定将要实现的初步目标,并绘制出初步ER图模型,书写设计文档及报告纪英鹏3008212040细化初步ER图,分析各实体届性,确定数据表的结构,并创建基本表尚舒节3008212047建立表问的联系,并创建查询及窗体, 确定系统结构框架,设计窗体实现所需功能王伟3008212054运行并测试所建数据库系统,并根据各阶段及测试信息,库存管理系统设计分析可行性报告研究本套应用程序名称为“库存管理系统”,

2、主要用于仓库货品信息的管理,系统包括仓库管理、入库、出库、一些统计查询和报表等几部分组成。库存管理系统需满足仓库管理员及工作人员的需求,他们具有登陆应用系统的权限,所以需要对工作人员的登陆本模块进行更多的考虑,设计不同用户的操作权限和登陆方法。对于一个仓库来说,最大的功能就是存储货品,所以仓库管理就是对货品信息, 仓库信 息,短线货品及超储货品的管理, 用户可以根据实际情况对各种货品信息进行分类管理,包括添加,删除更新数据库等。当然,仓库中货品入库也是常有的事,入库管理操作就是对于货品入库情况的管理,用户可以方便地输入一些货品的信息。有了货品的入库,自然也就有货品的出库,这部分提供的功能与入库

3、操作流程差不多, 有所区别的只是对一些出库货品的管理,也很方便数据的输入。仓库货品的信息量大, 数据安全性和保密性要求高。本系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和经办人员信息的查看及维护。仓库管理人员可以浏览、 查询、添加、删除等货品的基本信息以及统计等,并可以对一些基本的信息生成报表形式, 并打印输出的功能。报表是一个数据库中最重要的功能之一,有了报表才能清楚地知道货品的出入库情况,在数据报表功能中包括出库报表,库存报表及经办人员报表等一些基本信息的打印,方便简洁。本系统基本涵盖了库存管理的主要需求, 具有完善细致的功能、友好的用户界面、强大 的数据处理功能和完备的安全

4、机制; 随心所欲的查询和所见即所得的打印功能, 并全面支持 分析和决策的功能。系统特色:1.设置系统用户登陆功能,即时对系统数据进行安全设置与保护。2.友好的用户界面,业务操作简单,进入系统即能使用。3.成熟先进的技术和系统构架,采用先进的数据库访问方式,数据更安全,性能 更稳定。4.强大的数据处理能力和开放的数据接口,选用具有大型数据库安全机制的数据库系统,提供各种级别的数据保护和权限控制方式,确保数据的安全可靠。5.系统每种操作都可以通过菜单来进行。操作快捷、方便。易懂易会。系统集输 入、维护、查询、统计和各种处理为一体,信息导入导出方便共享。库存管理系统基本模块与功能:1.系统包括用户管

5、理,密码管理,关闭系统,以及数据的备份与恢复, 可以根据需要对整个数 据库进行备份,以确保数据的安全性。帮助:本系统的帮助信息,包括应用程序的版本信息;2.库存管理货品信息管理:对仓库里的货品进行登记;货品库存管理:管理仓库的库存情况;短线货品管理:对仓库里短线的货品进行登记,以便及时采购补货;超储货品管理:对仓库里超储的货品进行登记,控制库存量,减少进货;3.入库管理入库登记管理:能对货品的入库登记,删除,更改等;入库期间统计:货品入库期间年度的统计;供货单位期间供货金额统计:对货品供应的金额进行统计;4.出库管理对货品出库期间的年度统计,出库登记,及收获单位金额统计等;5.盘存管理对盘存货

6、品信息的盘存录入;6.综合管理模块划分打印、查询历史数据管理附项分类入库管理经办人员管理收货单位管理供货单位管理仓库信息管理货品出入库期间汇总表盘存录入收货单位年度收货金额统计货品出库年度统计出库登记管理超储货品管理货品库存管理货品信息管理可根据同一货品的出入库情况,对库存情况的汇总;7.附项管理对供货单位情况,经办人员,收货单位情况,仓库信息进行登记管理,可进行添加,删 除等操作;8.历史数据管理对历史库存,历史出库,历史出库情况进行管理;9.打印与查询可根据输入的条件,对货品的入库信息,库存信息等进行简单查询和组合查询。据流程图:图4- 1库存管理系统数据流程图货品入库单货品出库单经办人员

7、报表备份输出表1货品信息表货品信息管理数据流程图:货品信息管理数据流程图数据库设计本库存管理系统是应用在单机系统上的,所以只需建立起一个数据库,在此数据库基础上建立起表格,现将部分数据结构表描述如下:货品信息表字段名数据类型字段长度是否为空货品编码文本5货品石称文本10类别文本8型号文本4单位文本2仓库编码文本5存放仓库文本12入库计划单价货币出库计划单价货币原始库存数字长整型默认货位文本5警戒底线库存数字长整型警戒高线库存数字长整型表1货品信息表入库登记表表4仓库信息表字段名数据类型字段长度是否为空入库日期日期/时间入库单号文本10货物编码文本5数量数字长整型进货价货币总额货币已付货款货币供

8、货单位编码文-本5供货单位文本20经办人编码文本5经办人文本8增值税率数字单精度型备注备注表2入库登记表出库登记表字段名数据类型字段长度是否为空出库日期日期/时间出库单号文本10货物编码文本5货物名称文本10数量数字长整型单价货币出货价货币总额货币已收获款货币收货单位编码文本5收货单位文本20经办人编码文本5经办人文本8增值税率数字单精度型备注备注表3货品出库表仓库信息表字段名数据类型字段长度是否为空仓库编号文本5仓库名称文本12存货种类文本2存货价值货币供货单位信息表(收货单位表)字段名数据类型字段长度是否为空单位编号文本5单位名称文本50单位地址文本50电话文本15联系人文本8表5供货单位

9、信息表经办人员表字段名数据类型字段长度是否为空编号文本5姓名文本8家庭住址文本50办公电话文本15家庭电话文本15表6经办人员表用户表字段名数据类型字段长度是否为空UserID文本10userPWD文本6表7用户表另外,我们还建立了几张查询表,用以存放部分用于计算的统计信息,以便查询。入库登记统计表入库登记合计货品入库年度统计表入库登记_n供货单位年度供货金额统计表入库登记_w库存汇忌表库存出库登记统计表出库登记合计货品出库年度统计表出库登记_h收货单位年度收货金额统计表出库登记_d入库登记 合计表与出库登记 合计分别是以入库登记表和出库登记表为基础的,所以此处不再描述;库存汇总表主要由出库表

10、和入库表建立关系获得。入库登记n字段名数据类型字段长度是否为空货物名称文本10入库日期日期/时间年度数量数字长整型表8入库登记n入库登记w字段名数据类型字段长度是否为空供货单位文本50入库日期日期/时间年度供货总额数字长整型表9入库登记_w库存汇总字段名数据类型字段长度是否为空货物编码文本5入库日期日期/时间货物名称文本10数量(入库)数字长整型进货价货币数量(出库)数字长整型库存数量数字长整型表10库存汇总表出库登记h字段名数据类型字段长度是否为空货物名称文本10出库日期日期/时间年度数量数字长整型表11出库登记h出库登记d字段名数据类型字段长度是否为空收货单位文本50出库日期日期/时间年度

11、金额总额数字长整型表12出库登记d应用程序设计程序结构本应用程序由33个窗体组成,主要的分别是:主窗体,欢迎界面,登陆窗体,入库窗 体,出库窗体,库存汇总,打印及查询等窗体组成。通过运行程序首先进入欢迎界面和登陆窗体,通过输入密码,验证身份后进入主窗体, 在主窗体上有10个菜单项,分别对应各自的功能模块窗体,包括系统,库存管理,入库管 理,出库管理,盘存管理,综合管理,附项管理,历史数据管理,打印和查询。需要哪个功 能的时候就点哪个菜单,相对应的窗体会自动弹出。程序源代码程序实现的部分代码如下:公共模块Public datel As StringPublic date2 As StringPu

12、blic gUserName As String 保存用户名添加执行SQL语句的函数Public Function transactSQL(ByVal sql As String) As ADODB.RecordsetDim con As ADODB.ConnectionDim rs As ADODB.RecordsetDim strConnection As StringDim strArray() As StringSet con = New ADODB.Connection 创建连接Set rs = New ADODB.Recordset 创建记录集On Error GoTo Trans

13、actSQL_Error库存管理kucun.mdbstrArray = Split(sql)con.Open strConnection打开连接If StrComp(UCase$(strArray(0), select, vbTextCompare) = 0 Then rs.Open Trim$(sql), con,adOpenKeyset, adLockOptimistic Set transactSQL = rs返回记录集iflag = 1Else con.Execute sql执行命令iflag = 1End IfTransactSQL_Exit:Set rs = NothingSet

14、con = NothingExit FunctionTransactSQL_Error:MsgBox 查询错误:& Err.Descriptioniflag = 2 Resume TransactSQL_Exit End Function主窗体的程序代码主窗体界面Private Sub a1_Click()Forml.ShowEnd SubPrivate Sub a2_Click()Dim fAdd As New frmAddUserfAdd.ShowfAdd.ZOrder 0End SubPrivate Sub a3_Click()Dim fChangePWD As New frmC

15、hangePWD fChangePWD.ShowEnd SubPrivate Sub a4_Click()frmAbout.ShowEnd SubPrivate Sub a5_Click()调入数据备份Load main_sjbfmain_sjbf.Showmain.Enabled = FalseEnd SubPrivate Sub a6_Click()Load main_sjhf main_sjhf.Show 存管理系统匚1旦|区亲场库存管理入庠甘座出隹首理色有管理粽舍管理附 JS钟类 IS 史数 15首建打印吉布、1Uu 2QQ1-6-IQ20;53调入数据恢复Private Sub Co

16、mmand1_Click()main.HideEnd SubPrivate Sub b1_Click()frm货品信息.ShowEnd SubPrivate Sub b12_Click()sql = select * from货品信息order by货品编码”frmProInfo.createList (sql) frmProInfo.ShowEnd SubPrivate Sub b2_Click()frm货品库存.ShowEnd SubPrivate Sub B3_Click()frm超储货品.ShowEnd SubPrivate Sub b4_Click()frm短线货品.ShowEnd

17、SubPrivate Sub c1_Click()frm入库登记.ShowEnd SubPrivate Sub c2_Click()frm货品入库年度统计.ShowEnd SubPrivate Sub c3_Click()frm供货单位供货分类金额统计.ShowEnd SubPrivate Sub c4_Click()frm供货单位年度供货金额统计.ShowEnd SubPrivate Sub g2_Click()datel = Textl.Text & / & Text3.Text & / & Text2.Text date2 =Text6.Text &

18、; / & Text4.Text & / & Text5.TextText7.Text = datelEnd SubPrivate Sub d1_Click()frm出库登记.ShowEnd SubPrivate Sub d2_Click()frm货品出库年度统计.ShowEnd SubPrivate Sub d3_Click()frm收货单位期间收货统计.ShowEnd SubPrivate Sub d4_Click()frm收货单位年度收货金额统计.ShowEnd SubPrivate Sub e1_Click()frm盘存录入.ShowEnd SubPrivate

19、 Sub e2_Click()frm盘存表.ShowEnd SubPrivate Sub f1_Click()frm货品出入汇总表.ShowEnd SubPrivate Sub g1_Click()frm经办人员.ShowEnd SubPrivate Sub g3_Click()frm供货单位.ShowEnd SubPrivate Sub g3_Click() frm仓库信息.ShowEnd SubPrivate Sub g5_Click() Form6.ShowEnd SubPrivate Sub h1_Click() frm历史库存.Show End SubPrivate Sub h2_C

20、lick() frm历史入库.Show End SubPrivate Sub h3_Click() frm历史出库.Show End SubPrivate Sub i1_Click() DataReport1.Show End SubPrivate Sub i2_Click() DataReport2.Show End SubPrivate Sub i3_Click() DataReport3.Show End SubPrivate Sub j1_Click() Form2.ShowEnd SubPrivate Sub j2_Click()Form3.ShowEnd SubForm4.Show

21、End SubPrivate Sub j4_Click()Form5.ShowEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As ComctlLib.Button)Select Case Button.KeyCase Is = rk调入入库登记c1_ClickCase Is = ck调入出库登记d1_ClickCase Is = kchz调入库存汇总f1_ClickCase Is = zhcx调入组合查询j4_ClickCase Is = sjbf调入数据备份a5_ClickEnd SelectEnd SubPrivate Sub x

22、_Click()EndEnd Sub登陆模块的实现Private Sub cmdLogin_Click()denlu_name = txtUserName.Textdenlu_pass = txtPassword.TextDim mycn As New ADODB.ConnectionDim myrs As New ADODB.RecordsetSet myrs = New ADODB.Recordsetmycn.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source=kucun.mdb;” myrs.Open SELECT * FROM 用户whe

23、re userID= + denlu_name + ;, mycn, adOpenKeyset, adLockOptimisticIf myrs.BOF = True And myrs.EOF = True ThenMsgBox”查无此人”,登陆信息”ElseIf myrs(userPWD) = denlu_pass Then.MsgBox 身份正确,登陆信息main.ShowUnload Me.ElseMsgBox 密码不正确,登陆信息”End IfEnd IfEnd Sub添加用户模块的实现Option ExplicitPrivate Sub Command1_Click()Dim sql

24、 As StringDim rs As ADODB.RecordsetIf Trim(UserName.Text) = Then判断用户名称是否为空MsgBox 请输入用户名称!, vbOKOnly + vbExclamation,警告 Exit Sub UserName.SetFocusElsesql = select * from用户where UserID= & UserName & Set rs = transactSQL(sql)If rs.EOF = False Then判断是否已经存在用户MsgBox 这个用户已经存在!请重新输入用户名称!, vbOKOnly +

25、 vbExclamation,警告UserName.SetFocusUserName.Text = PassWord.Text =ConfirmPWD.Text =Exit SubElseIf Trim(PassWord.Text) Trim(ConfirmPWD.Text) Then 判断两次密码是否相同MsgBox 两次输入的密码不一致,请重新输入密码!, vbOKOnly +vbExclamation,警告PassWord.Text =ConfirmPWD.Text =PassWord.SetFocusExit SubElself Trim(PassWord.Text) = Then判断

26、密码是否为空MsgBox 密码不能为空!”, vbOKOnly + vbExclamation,警告PassWord.Text = ”ConfirmPWD = ”PassWord.SetFocusElse添加用户sql= insert into用户(UserID,UserPWD) values( & UserNamesql = sql & , & PassWord & )” transactSQL (sql)MsgBox 添加成功!, vbOKOnly + vbExclamation,添加结果”重新设置初始化为空UserName.Text =PassWord.T

27、ext =ConfirmPWD.Text =UserName.SetFocusEnd IfEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubPrivate Sub Form_Load()UserName.Text =PassWord.Text =ConfirmPWD.Text =End Sub修改用户密码的实现Option ExplicitPublic gUserName As StringPrivate Sub Command1_Click()Dim sql As StringDim rs As ADODB.Reco

28、rdsetIf Trim(OldPWD.Text) = Then判断是否输入旧密码MsgBox 请输入旧密码!, vbOKOnly + vbExclamation,警告OldPWD.SetFocus Exit SubElseIf Trim(NewPWD.Text) = Then判断是否输入新密码MsgBox 请输入新密码!, vbOKOnly + vbExclamation,警告NewPWD.SetFocusExit SubElseIf Trim(NewPWD.Text) Trim(ConfirmPWD.Text) Then 判断两次密码是否相同MsgBox 两次密码不同!, vbOKOnly

29、 + vbExclamation,警告NewPWD.Text =ConfirmPWD.Text =NewPWD.SetFocusElse修改密码sql = update用户set UserPWD = & NewPWD & where UserID=sql = sql & gUserName & transactSQL (sql)MsgBox 密码已经修改!, vbOKOnly + vbExclamation,修改结果”Unload MeEnd IfEnd IfEnd SubPrivate Sub Command2_Click()Unload MeEnd SubP

30、rivate Sub Form_Load()OldPWD.Text =NewPWD.Text =ConfirmPWD.Text =End Sub数据备份模块的实现Private Sub Form_Activate()赋值给text1Text1.Text = A”End SubPrivate Sub Command1_Click() 确认数据备份Me.MousePointer = 11YesNo = MsgBox(准备好了吗? , vbNo + vbQuestion)If YesNo = vbNo ThenExit SubEnd IfOn Error GoTo errpromptMe.Mouse

31、Pointer = 11数据备份)数据备份kucun & Date &”.mdb”Me.MousePointer = 0MsgBox 数据已备份完毕。errprompt:Me.MousePointer = 0Select Case Err.NumberCase 57MsgBox 磁盘已满! , vbCriticalCase 70MsgBox 磁盘写保护! , vbCriticalEnd SelectEnd SubPrivate Sub Command2_Click()Load mainmain.Showmain.Enabled = TrueUnload MeEnd SubPri

32、vate Sub Form_Unload(Cancel As Integer)main.Enabled = TrueEnd Sub数据恢复模块的实现Private Sub Form_Unload(Cancel As Integer)main.Enabled = TrueEnd SubPrivate Sub Dir1_Change()File1.Path = Dir1.PathEnd SubPrivate Sub Drive1_Change()Dir1.Path = Drive1.DriveEnd SubPrivate Sub File1_Click()Text1.Text = Dir1.Pat

33、h & & File1.FileNameEnd SubPrivate Sub Command1_Click()恢复指定路径下的数据库If Text1.Text = ThenMsgBox 请选择要恢复的数据!ElseMe.MousePointer = 11FileCopy Dir1.Path & & File1.FileName, App.Path & kucun.mdbMe.MousePointer = 0MsgBox 数据已恢复完毕!End IfEnd SubPrivate Sub Command2_Click()main.ShowUnload MeE

34、nd Sub对于货品信息的浏览,主要采用了MSFlexGrid控件,它是一种Active控件,该控件提 供了表格式界面,处理数据相当灵活,具有只读数据绑定、对表格数据进行显示和操作、数据分组排序、Data控件赋值、文本自动换行等功能。但它无法对数据进行动态输入,只能 提供浏览功能。具体代码如下:Option ExplicitPrivate Sub Command1_Click() rsGrid.RefreshEnd SubPrivate Sub Form_Load()Dim sql As Stringsql = select * from货品信息order by货品编码”createList

35、(sql)End SubPublic Sub createList(sql As String)Dim rs As New ADODB.RecordsetDim i As IntegerDim rsGird As MSFlexGrid设置表头rsGrid.TextMatrix(0, 0)=货品编码,氏环代席系堆制XH鼻J阿0时皂MM唐鼻茂克和lEffiH 3麒篱图5-2货品信息界面rsGrid.TextMatrix(0,1)=rsGrid.TextMatrix(0,2)=rsGrid.TextMatrix(0,3)=rsGrid.TextMatrix(0,4)=rsGrid.TextMatri

36、x(0,5)=rsGrid.TextMatrix(0,6)=rsGrid.TextMatrix(0,7)=rsGrid.TextMatrix(0,8)=rsGrid.TextMatrix(0,9)=rsGrid.TextMatrix(0,10)=rsGrid.TextMatrix(0,11)=rsGrid.TextMatrix(0, 12)=For i = 0 To 12rsGrid.ColAlignment(i) = 4 Next iFor i = 0 To 11rsGrid.ColWidth(i) = 1400Next irsGrid.ColWidth(12) = 2000Set rs =

37、 transactSQL(sql)If rs.EOF = False Then显示信息内容rsGrid.Rows = 1While Not rs.EOFrsGrid.Rows = rsGrid.Rows + 1rsGrid.TextMatrix(rsGrid.Rows - 1,0) = rs(0) rsGrid.TextMatrix(rsGrid.Rows - 1, 1) = rs(1)rsGrid.TextMatrix(rsGrid.Rows - 1,2) = rs(2) rsGrid.TextMatrix(rsGrid.Rows - 1,3) = rs(3)rsGrid.TextMatri

38、x(rsGrid.Rows - 1,4) = rs(4) rsGrid.TextMatrix(rsGrid.Rows - 1,5) = rs(5)rsGrid.TextMatrix(rsGrid.Rows - 1,6) = rs(6) rsGrid.TextMatrix(rsGrid.Rows - 1,7) = rs(7)rsGrid.TextMatrix(rsGrid.Rows - 1,8) = rs(8) rsGrid.TextMatrix(rsGrid.Rows - 1,9) = rs(9)rsGrid.TextMatrix(rsGrid.Rows - 1, 10) = rs(10) r

39、sGrid.TextMatrix(rsGrid.Rows - 1, 11) = rs(11)rsGrid.TextMatrix(rsGrid.Rows - 1, 12) = rs(12) rs.MoveNextWend rs.CloseEnd IfEnd Sub货品入库登记模块的实现入库登记EM-g入库单砰:0032000总眈已付黄软2000002供黄单位 M市阳瘫 1皿朝人:wJ 增值够.0货品名称类别”型号单位仓库编码存放仓库入库计划单价出库计划单价原始库存默认货位警戒底线库存警戒高线库存设置所有表格对齐方式设置每列宽度岳注:f添咖 更新也)|州隐鱼_ 鲫?俱)|关闭 |_ri.I h I

40、MI入库登记窗口Private Sub Form_Unload(Cancel As Integer) Screen.MousePointer = vbDefaultEnd SubPrivate Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long,ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDisplay As Boolean)错误处理程序代

41、码置于此处想要忽略错误,注释掉下一行想要捕获它们,在此添加代码以处理它们MsgBox Data error event hit err: & DescriptionEnd SubPrivate Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError AsADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordsetAs ADODB.Recordset)为这个recordset显示当前记录位置datPrimary

42、RS.Caption=Record:&CStr(datPrimaryRS.Recordset.AbsolutePosition)End SubPrivate Sub datPrimaryRS_WillChangeRecord(ByValadReason AsADODB.EventReasonEnum,ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset AsADODB.Recordset)验证代码置于此处下列动作发生时该事件被调用Dim bCancel As BooleanSelect C

43、ase adReasonCase adRsnAddNewCase adRsnCloseCase adRsnDeleteCase adRsnFirstChangeCase adRsnMoveCase adRsnRequery入库日期础格辱;进货价.供单位潟吗号办大蝙玛.Case adRsnResynchCase adRsnUndoAddNewCase adRsnUndoDeleteCase adRsnUndoUpdateCase adRsnUpdateEnd SelectIf bCancel Then adStatus = adStatusCancelEnd SubPrivate Sub cmd

44、Add_Click()On Error GoTo AddErrdatPrimaryRS.Recordset.AddNewExit SubAddErr:MsgBox Err.Description End SubPrivate Sub cmdDelete_Click()On Error GoTo DeleteErrWith datPrimaryRS.Recordset.Delete.MoveNextIf .EOF Then .MoveLastEnd WithExit SubDeleteErr:MsgBox Err.DescriptionEnd SubPrivate Sub cmdRefresh_

45、Click()只有多用户应用程序需要On Error GoTo RefreshErrdatPrimaryRS.RefreshExit SubRefreshErr:MsgBox Err.DescriptionEnd SubPrivate Sub cmdUpdate_Click()On Error GoTo UpdateErrdatPrimaryRS.Recordset.UpdateBatch adAffectAllExit SubUpdateErr:MsgBox Err.DescriptionEnd SubPrivate Sub cmdClose_Click()Unload MeEnd Sub出

46、库登记模块的实现| 4 |E.wE: 1| *1出库登记窗口Private Sub Form_Unload(Cancel As Integer)Screen.MousePointer = vbDefaultEnd SubPrivate Sub datPrimaryRS_Error(ByVal ErrorNumber As Long, Description As String, ByVal Scode As Long,ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, fCancelDispl

47、ay As Boolean)错误处理程序代码置于此处想要忽略错误,注释掉下一行,想要捕获它们,在此添加代码以处理它们MsgBox Data error event hit err: & DescriptionEnd SubPrivate Sub datPrimaryRS_MoveComplete(ByVal adReason As ADODB.EventReasonEnum, ByVal pError AsADODB.Error, adStatus As ADODB.EventStatusEnum, ByVal pRecordset As ADODB.Recordset)为这个reco

48、rdset显示当前记录位置datPrimaryRS.Caption=Record:&CStr(datPrimaryRS.Recordset.AbsolutePosition)End SubPrivate Sub datPrimaryRS_WillChangeRecord(ByValadReason AsADODB.EventReasonEnum,ByVal cRecords As Long, adStatus As ADODB.EventStatusEnum, ByVal pRecordset AsADODB.Recordset)验证代码置于此处下列动作发生时该事件被调用Dim bCa

49、ncel As BooleanSelect Case adReasonCase adRsnAddNewCase adRsnCloseCase adRsnDeleteCase adRsnFirstChangeCase adRsnMoveCase adRsnRequeryCase adRsnResynchCase adRsnUndoAddNewCase adRsnUndoDeleteCase adRsnUndoUpdateCase adRsnUpdateEnd SelectIf bCancel Then adStatus = adStatusCancelEnd SubPrivate Sub cmd

50、Add_Click()On Error GoTo AddErrdatPrimaryRS.Recordset.AddNewExit SubAddErr:MsgBox Err.DescriptionEnd SubEnd SubPrivate Sub cmdDelete_Click()On Error GoTo DeleteErrWith datPrimaryRS.Recordset.Delete.MoveNextIf .EOF Then .MoveLastEnd WithExit SubDeleteErr:MsgBox Err.DescriptionEnd SubPrivate Sub cmdRe

51、fresh_Click()只有多用户应用程序需要On Error GoTo RefreshErrdatPrimaryRS.RefreshExit SubRefreshErr:MsgBox Err.DescriptionEnd SubPrivate Sub cmdUpdate_Click()On Error GoTo UpdateErrdatPrimaryRS.Recordset.UpdateBatch adAffectAllExit SubUpdateErr:MsgBox Err.DescriptionEnd SubPrivate Sub cmdClose_Click()Unload MeEnd Sub其他关于添加删除的记录的功能实现都与此类似,在此就

温馨提示

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

最新文档

评论

0/150

提交评论