版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程课程作业文档题目:公司进销存管理系统年级:2008级组长:王冠宇设计人员:纪英鹏尚舒节王伟完成时间:2011.4.12设计小组人员及分工王冠宇3008212050分析“进销存管理”的需求信息,并确定将要实现的初步目标,并绘制出初步ER图模型,书写设计文档及报告纪英鹏3008212040细化初步ER图,分析各实体属性,确定数据表的结构,并创建基本表尚舒节3008212047建立表间的联系,并创建查询及窗体,确定系统结构框架,设计窗体实现所需功能王伟3008212054运行并测试所建数据库系统,并根据各阶段及测试信息,
库存管理系统设计分析可行性报告研究本套应用程序名称为“库存管理系统”,主要用于仓库货品信息的管理,系统包括仓库管理、入库、出库、一些统计查询和报表等几部分组成。库存管理系统需满足仓库管理员及工作人员的需求,他们具有登陆应用系统的权限,所以需要对工作人员的登陆本模块进行更多的考虑,设计不同用户的操作权限和登陆方法。对于一个仓库来说,最大的功能就是存储货品,所以仓库管理就是对货品信息,仓库信息,短线货品及超储货品的管理,用户可以根据实际情况对各种货品信息进行分类管理,包括添加,删除更新数据库等。当然,仓库中货品入库也是常有的事,入库管理操作就是对于货品入库情况的管理,用户可以方便地输入一些货品的信息。有了货品的入库,自然也就有货品的出库,这部分提供的功能与入库操作流程差不多,有所区别的只是对一些出库货品的管理,也很方便数据的输入。仓库货品的信息量大,数据安全性和保密性要求高。本系统实现对货品信息的管理和总体的统计等,仓库信息,供货单位和经办人员信息的查看及维护。仓库管理人员可以浏览、查询、添加、删除等货品的基本信息以及统计等,并可以对一些基本的信息生成报表形式,并打印输出的功能。报表是一个数据库中最重要的功能之一,有了报表才能清楚地知道货品的出入库情况,在数据报表功能中包括出库报表,库存报表及经办人员报表等一些基本信息的打印,方便简洁。本系统基本涵盖了库存管理的主要需求,具有完善细致的功能、友好的用户界面、强大的数据处理功能和完备的安全机制;随心所欲的查询和所见即所得的打印功能,并全面支持分析和决策的功能。●系统特色:1.设置系统用户登陆功能,即时对系统数据进行安全设置与保护。2.友好的用户界面,业务操作简单,进入系统即能使用。3.成熟先进的技术和系统构架,采用先进的数据库访问方式,数据更安全,性能更稳定。4.强大的数据处理能力和开放的数据接口,选用具有大型数据库安全机制的数据库系统,提供各种级别的数据保护和权限控制方式,确保数据的安全可靠。5.系统每种操作都可以通过菜单来进行。操作快捷、方便。易懂易会。系统集输入、维护、查询、统计和各种处理为一体,信息导入导出方便共享。库存管理系统仓库管理库存管理系统仓库管理入库管理出库管理盘存管理综合管理附项分类历史数据管理打印、查询系统货品信息管理货品库存管理短线货品管理超储货品管理出库登记管理货品出库年度统计收货单位年度收货金额统计盘存录入货品出入库期间汇总表仓库信息管理供货单位管理收货单位管理经办人员管理 基本模块与功能:1.系统包括用户管理,密码管理,关闭系统,以及数据的备份与恢复,可以根据需要对整个数据库进行备份,以确保数据的安全性。帮助:本系统的帮助信息,包括应用程序的版本信息;2.库存管理货品信息管理:对仓库里的货品进行登记;货品库存管理:管理仓库的库存情况;短线货品管理:对仓库里短线的货品进行登记,以便及时采购补货;超储货品管理:对仓库里超储的货品进行登记,控制库存量,减少进货;3.入库管理入库登记管理:能对货品的入库登记,删除,更改等;入库期间统计:货品入库期间年度的统计;供货单位期间供货金额统计:对货品供应的金额进行统计;4.出库管理对货品出库期间的年度统计,出库登记,及收获单位金额统计等;5.盘存管理对盘存货品信息的盘存录入;6.综合管理可根据同一货品的出入库情况,对库存情况的汇总;7.附项管理对供货单位情况,经办人员,收货单位情况,仓库信息进行登记管理,可进行添加,删除等操作;8.历史数据管理对历史库存,历史出库,历史出库情况进行管理;9.打印与查询可根据输入的条件,对货品的入库信息,库存信息等进行简单查询和组合查询。据流程图:登陆库存管理系统登陆库存管理系统验证用户信息系统主窗体仓库管理入库管理出库管理盘存管理综合管理附项分类历史数据管理打印、查询系统货品入库单经办人员报表货品出库单数据备份备份输出库存汇总图4-1库存管理系统数据流程图密码错误汇总计算货品信息管理数据流程图:货品登记货品登记基本信息录入货品基本信息管理货品调配汇总出库货品信息管理入库货品信息管理货品其他信息管理货品信息管理数据流程图数据库设计本库存管理系统是应用在单机系统上的,所以只需建立起一个数据库,在此数据库基础上建立起表格,现将部分数据结构表描述如下:货品信息表字段名数据类型字段长度是否为空货品编码文本5货品名称文本10类别文本8型号文本4单位文本2仓库编码文本5存放仓库文本12入库计划单价货币出库计划单价货币原始库存数字长整型默认货位文本5警戒底线库存数字长整型警戒高线库存数字长整型表1 货品信息表表1 货品信息表入库登记表字段名数据类型字段长度是否为空入库日期日期/时间入库单号文本10货物编码文本5数量数字长整型进货价货币总额货币已付货款货币供货单位编码文本5供货单位文本20经办人编码文本5经办人文本8增值税率数字单精度型备注备注表2 入库登记表表2 入库登记表出库登记表字段名数据类型字段长度是否为空出库日期日期/时间出库单号文本10货物编码文本5货物名称文本10数量数字长整型单价货币出货价货币总额货币已收获款货币收货单位编码文本5收货单位文本20经办人编码文本5经办人文本8增值税率数字单精度型备注备注表3 货品出库表表3 货品出库表仓库信息表字段名数据类型字段长度是否为空仓库编号文本5仓库名称文本12存货种类文本2存货价值货币表4 仓库信息表表4 仓库信息表供货单位信息表(收货单位表)字段名数据类型字段长度是否为空单位编号文本5单位名称文本50单位地址文本50电话文本15联系人文本8表5 供货单位信息表表5 供货单位信息表经办人员表字段名数据类型字段长度是否为空编号文本5姓名文本8家庭住址文本50办公电话文本15家庭电话文本15表6 经办人员表表6 经办人员表用户表字段名数据类型字段长度是否为空UserID文本10userPWD文本6表7 用户表表7 用户表另外,我们还建立了几张查询表,用以存放部分用于计算的统计信息,以便查询。●入库登记统计表 入库登记_合计●货品入库年度统计表 入库登记_n●供货单位年度供货金额统计表 入库登记_w●库存汇总表 库存 ●出库登记统计表 出库登记_合计●货品出库年度统计表 出库登记_h●收货单位年度收货金额统计表 出库登记_d入库登记_合计表与出库登记_合计分别是以入库登记表和出库登记表为基础的,所以此处不再描述;库存汇总表主要由出库表和入库表建立关系获得。入库登记_n字段名数据类型字段长度是否为空货物名称文本10入库日期日期/时间年度数量数字长整型表8入库登记_n表8入库登记_n入库登记_w字段名数据类型字段长度是否为空供货单位文本50入库日期日期/时间年度供货总额数字长整型表9入库登记_w表9入库登记_w库存汇总字段名数据类型字段长度是否为空货物编码文本5入库日期日期/时间货物名称文本10数量(入库)数字长整型进货价货币数量(出库)数字长整型库存数量数字长整型表10库存汇总表表10库存汇总表出库登记_h字段名数据类型字段长度是否为空货物名称文本10出库日期日期/时间年度数量数字长整型表11出库登记_h表11出库登记_h出库登记_d字段名数据类型字段长度是否为空收货单位文本50出库日期日期/时间年度金额总额数字长整型表12出库登记_d表12出库登记_d应用程序设计程序结构本应用程序由33个窗体组成,主要的分别是:主窗体,欢迎界面,登陆窗体,入库窗体,出库窗体,库存汇总,打印及查询等窗体组成。通过运行程序首先进入欢迎界面和登陆窗体,通过输入密码,验证身份后进入主窗体,在主窗体上有10个菜单项,分别对应各自的功能模块窗体,包括系统,库存管理,入库管理,出库管理,盘存管理,综合管理,附项管理,历史数据管理,打印和查询。需要哪个功能的时候就点哪个菜单,相对应的窗体会自动弹出。程序源代码程序实现的部分代码如下:●公共模块Publicdate1AsStringPublicdate2AsStringPublicgUserNameAsString'保存用户名'添加执行SQL语句的函数PublicFunctiontransactSQL(ByValsqlAsString)AsADODB.RecordsetDimconAsADODB.ConnectionDimrsAsADODB.RecordsetDimstrConnectionAsStringDimstrArray()AsStringSetcon=NewADODB.Connection'创建连接Setrs=NewADODB.Recordset'创建记录集OnErrorGoToTransactSQL_ErrorstrConnection="Provider=Microsoft.jet.oledb.4.0;DataSource=E:\库存管理\kucun.mdb"strArray=Split(sql)con.OpenstrConnection'打开连接IfStrComp(UCase$(strArray(0)),"select",vbTextCompare)=0Thenrs.OpenTrim$(sql),con,adOpenKeyset,adLockOptimisticSettransactSQL=rs'返回记录集iflag=1Elsecon.Executesql'执行命令iflag=1EndIfTransactSQL_Exit:Setrs=NothingSetcon=NothingExitFunctionTransactSQL_Error:MsgBox"查询错误:"&Err.Descriptioniflag=2ResumeTransactSQL_ExitEndFunction●主窗体的程序代码主窗体界面主窗体界面PrivateSuba1_Click()Form1.ShowEndSubPrivateSuba2_Click()DimfAddAsNewfrmAddUserfAdd.ShowfAdd.ZOrder0EndSubPrivateSuba3_Click()DimfChangePWDAsNewfrmChangePWDfChangePWD.ShowEndSubPrivateSuba4_Click()frmAbout.ShowEndSubPrivateSuba5_Click()'调入数据备份Loadmain_sjbfmain_sjbf.Showmain.Enabled=FalseEndSubPrivateSuba6_Click()'调入数据恢复Loadmain_sjhfmain_sjhf.Showmain.HideEndSubPrivateSubb1_Click()frm货品信息.ShowEndSubPrivateSubb12_Click()sql="select*from货品信息orderby货品编码"frmProInfo.createList(sql)frmProInfo.ShowEndSubPrivateSubb2_Click()frm货品库存.ShowEndSubPrivateSubB3_Click()frm超储货品.ShowEndSubPrivateSubb4_Click()frm短线货品.ShowEndSubPrivateSubc1_Click()frm入库登记.ShowEndSubPrivateSubc2_Click()frm货品入库年度统计.ShowEndSubPrivateSubc3_Click()frm供货单位供货分类金额统计.ShowEndSubPrivateSubc4_Click()frm供货单位年度供货金额统计.ShowEndSubPrivateSubCommand1_Click()date1=Text1.Text&"/"&Text3.Text&"/"&Text2.Textdate2=Text6.Text&"/"&Text4.Text&"/"&Text5.TextText7.Text=date1EndSubPrivateSubd1_Click()frm出库登记.ShowEndSubPrivateSubd2_Click()frm货品出库年度统计.ShowEndSubPrivateSubd3_Click()frm收货单位期间收货统计.ShowEndSubPrivateSubd4_Click()frm收货单位年度收货金额统计.ShowEndSubPrivateSube1_Click()frm盘存录入.ShowEndSubPrivateSube2_Click()frm盘存表.ShowEndSubPrivateSubf1_Click()frm货品出入汇总表.ShowEndSubPrivateSubg1_Click()frm经办人员.ShowEndSubPrivateSubg2_Click()frm供货单位.ShowEndSubPrivateSubg3_Click()frm仓库信息.ShowEndSubPrivateSubg5_Click()Form6.ShowEndSubPrivateSubh1_Click()frm历史库存.ShowEndSubPrivateSubh2_Click()frm历史入库.ShowEndSubPrivateSubh3_Click()frm历史出库.ShowEndSubPrivateSubi1_Click()DataReport1.ShowEndSubPrivateSubi2_Click()DataReport2.ShowEndSubPrivateSubi3_Click()DataReport3.ShowEndSubPrivateSubj1_Click()Form2.ShowEndSubPrivateSubj2_Click()Form3.ShowEndSubPrivateSubj3_Click()Form4.ShowEndSubPrivateSubj4_Click()Form5.ShowEndSubPrivateSubToolbar1_ButtonClick(ByValButtonAsComctlLib.Button)SelectCaseButton.KeyCaseIs="rk"'调入入库登记c1_ClickCaseIs="ck"'调入出库登记d1_ClickCaseIs="kchz"'调入库存汇总f1_ClickCaseIs="zhcx"'调入组合查询j4_ClickCaseIs="sjbf"'调入数据备份a5_ClickEndSelectEndSubPrivateSubx_Click()EndEndSub●登陆模块的实现PrivateSubcmdLogin_Click()denlu_name=txtUserName.Textdenlu_pass=txtPassword.TextDimmycnAsNewADODB.ConnectionDimmyrsAsNewADODB.RecordsetSetmyrs=NewADODB.Recordsetmycn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=kucun.mdb;"myrs.Open"SELECT*FROM[用户]whereuserID='"+denlu_name+"';",mycn,adOpenKeyset,adLockOptimisticIfmyrs.BOF=TrueAndmyrs.EOF=TrueThenMsgBox"查无此人",,"登陆信息"ElseIfmyrs("userPWD")=denlu_passThen''''''''''''''''''''''''''''''''''''''''''MsgBox"身份正确",,"登陆信息"main.ShowUnloadMe'''''''''''''''''''''''''''''''''''''''''''''''''''ElseMsgBox"密码不正确",,"登陆信息"EndIfEndIfEndSub●添加用户模块的实现OptionExplicitPrivateSubCommand1_Click()DimsqlAsStringDimrsAsADODB.RecordsetIfTrim(UserName.Text)=""Then'判断用户名称是否为空MsgBox"请输入用户名称!",vbOKOnly+vbExclamation,"警告"ExitSubUserName.SetFocusElsesql="select*from用户whereUserID='"&UserName&"'"Setrs=transactSQL(sql)Ifrs.EOF=FalseThen'判断是否已经存在用户MsgBox"这个用户已经存在!请重新输入用户名称!",vbOKOnly+vbExclamation,"警告"UserName.SetFocusUserName.Text=""PassWord.Text=""ConfirmPWD.Text=""ExitSubElseIfTrim(PassWord.Text)<>Trim(ConfirmPWD.Text)Then'判断两次密码是否相同MsgBox"两次输入的密码不一致,请重新输入密码!",vbOKOnly+vbExclamation,"警告"PassWord.Text=""ConfirmPWD.Text=""PassWord.SetFocusExitSubElseIfTrim(PassWord.Text)=""Then'判断密码是否为空MsgBox"密码不能为空!",vbOKOnly+vbExclamation,"警告"PassWord.Text=""ConfirmPWD=""PassWord.SetFocusElse'添加用户sql="insertinto用户(UserID,UserPWD)values('"&UserNamesql=sql&"','"&PassWord&"')"transactSQL(sql)MsgBox"添加成功!",vbOKOnly+vbExclamation,"添加结果"'重新设置初始化为空UserName.Text=""PassWord.Text=""ConfirmPWD.Text=""UserName.SetFocusEndIfEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()UserName.Text=""PassWord.Text=""ConfirmPWD.Text=""EndSub●修改用户密码的实现OptionExplicitPublicgUserNameAsStringPrivateSubCommand1_Click()DimsqlAsStringDimrsAsADODB.RecordsetIfTrim(OldPWD.Text)=""Then'判断是否输入旧密码MsgBox"请输入旧密码!",vbOKOnly+vbExclamation,"警告"OldPWD.SetFocusExitSubElseIfTrim(NewPWD.Text)=""Then'判断是否输入新密码MsgBox"请输入新密码!",vbOKOnly+vbExclamation,"警告"NewPWD.SetFocusExitSubElseIfTrim(NewPWD.Text)<>Trim(ConfirmPWD.Text)Then'判断两次密码是否相同MsgBox"两次密码不同!",vbOKOnly+vbExclamation,"警告"NewPWD.Text=""ConfirmPWD.Text=""NewPWD.SetFocusElse'修改密码sql="update用户setUserPWD='"&NewPWD&"'whereUserID='"sql=sql&gUserName&"'"transactSQL(sql)MsgBox"密码已经修改!",vbOKOnly+vbExclamation,"修改结果"UnloadMeEndIfEndIfEndSubPrivateSubCommand2_Click()UnloadMeEndSubPrivateSubForm_Load()OldPWD.Text=""NewPWD.Text=""ConfirmPWD.Text=""EndSub●数据备份模块的实现PrivateSubForm_Activate()'赋值给text1Text1.Text="A"EndSubPrivateSubCommand1_Click()'确认数据备份Me.MousePointer=11YesNo=MsgBox("准备好了吗?",vbNo+vbQuestion)IfYesNo=vbNoThenExitSubEndIfOnErrorGoToerrpromptMe.MousePointer=11MkDir(Text1.Text&":\数据备份")FileCopyApp.Path&"\kucun.mdb",Text1.Text&":\数据备份\kucun"&Date&".mdb"Me.MousePointer=0MsgBox"数据已备份完毕。"errprompt:Me.MousePointer=0SelectCaseErr.NumberCase57MsgBox"磁盘已满!",vbCriticalCase70MsgBox"磁盘写保护!",vbCriticalEndSelectEndSubPrivateSubCommand2_Click()Loadmainmain.Showmain.Enabled=TrueUnloadMeEndSubPrivateSubForm_Unload(CancelAsInteger)main.Enabled=TrueEndSub●数据恢复模块的实现PrivateSubForm_Unload(CancelAsInteger)main.Enabled=TrueEndSubPrivateSubDir1_Change()File1.Path=Dir1.PathEndSubPrivateSubDrive1_Change()Dir1.Path=Drive1.DriveEndSubPrivateSubFile1_Click()Text1.Text=Dir1.Path&"\"&File1.FileNameEndSubPrivateSubCommand1_Click()'恢复指定路径下的数据库IfText1.Text=""ThenMsgBox"请选择要恢复的数据!"ElseMe.MousePointer=11FileCopyDir1.Path&"\"&File1.FileName,App.Path&"\kucun.mdb"Me.MousePointer=0MsgBox"数据已恢复完毕!"EndIfEndSubPrivateSubCommand2_Click()main.ShowUnloadMeEndSub对于货品信息的浏览,主要采用了MSFlexGrid控件,它是一种Active控件,该控件提供了表格式界面,处理数据相当灵活,具有只读数据绑定、对表格数据进行显示和操作、数据分组排序、Data控件赋值、文本自动换行等功能。但它无法对数据进行动态输入,只能提供浏览功能。图5-2货品信息界面图5-2货品信息界面具体代码如下:OptionExplicitPrivateSubCommand1_Click()rsGrid.RefreshEndSubPrivateSubForm_Load()DimsqlAsStringsql="select*from货品信息orderby货品编码"createList(sql)EndSubPublicSubcreateList(sqlAsString)DimrsAsNewADODB.RecordsetDimiAsIntegerDimrsGirdAsMSFlexGrid'设置表头rsGrid.TextMatrix(0,0)="货品编码"rsGrid.TextMatrix(0,1)="货品名称"rsGrid.TextMatrix(0,2)="类别"rsGrid.TextMatrix(0,3)="型号"rsGrid.TextMatrix(0,4)="单位"rsGrid.TextMatrix(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)="警戒高线库存"Fori=0To12'设置所有表格对齐方式rsGrid.ColAlignment(i)=4NextiFori=0To11'设置每列宽度rsGrid.ColWidth(i)=1400NextirsGrid.ColWidth(12)=2000Setrs=transactSQL(sql)Ifrs.EOF=FalseThen'显示信息内容rsGrid.Rows=1WhileNotrs.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.TextMatrix(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)rsGrid.TextMatrix(rsGrid.Rows-1,11)=rs(11)rsGrid.TextMatrix(rsGrid.Rows-1,12)=rs(12)rs.MoveNextWendrs.CloseEndIfEndSub●货品入库登记模块的实现入库登记窗口入库登记窗口PrivateSubForm_Unload(CancelAsInteger)Screen.MousePointer=vbDefaultEndSubPrivateSubdatPrimaryRS_Error(ByValErrorNumberAsLong,DescriptionAsString,ByValScodeAsLong,ByValSourceAsString,ByValHelpFileAsString,ByValHelpContextAsLong,fCancelDisplayAsBoolean)'错误处理程序代码置于此处'想要忽略错误,注释掉下一行'想要捕获它们,在此添加代码以处理它们MsgBox"Dataerroreventhiterr:"&DescriptionEndSubPrivateSubdatPrimaryRS_MoveComplete(ByValadReasonAsADODB.EventReasonEnum,ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset)'为这个recordset显示当前记录位置datPrimaryRS.Caption="Record:"&CStr(datPrimaryRS.Recordset.AbsolutePosition)EndSubPrivateSubdatPrimaryRS_WillChangeRecord(ByValadReasonAsADODB.EventReasonEnum,ByValcRecordsAsLong,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset)'验证代码置于此处'下列动作发生时该事件被调用DimbCancelAsBooleanSelectCaseadReasonCaseadRsnAddNewCaseadRsnCloseCaseadRsnDeleteCaseadRsnFirstChangeCaseadRsnMoveCaseadRsnRequeryCaseadRsnResynchCaseadRsnUndoAddNewCaseadRsnUndoDeleteCaseadRsnUndoUpdateCaseadRsnUpdateEndSelectIfbCancelThenadStatus=adStatusCancelEndSubPrivateSubcmdAdd_Click()OnErrorGoToAddErrdatPrimaryRS.Recordset.AddNewExitSubAddErr:MsgBoxErr.DescriptionEndSubPrivateSubcmdDelete_Click()OnErrorGoToDeleteErrWithdatPrimaryRS.Recordset.Delete.MoveNextIf.EOFThen.MoveLastEndWithExitSubDeleteErr:MsgBoxErr.DescriptionEndSubPrivateSubcmdRefresh_Click()'只有多用户应用程序需要OnErrorGoToRefreshErrdatPrimaryRS.RefreshExitSubRefreshErr:MsgBoxErr.DescriptionEndSubPrivateSubcmdUpdate_Click()OnErrorGoToUpdateErrdatPrimaryRS.Recordset.UpdateBatchadAffectAllExitSubUpdateErr:MsgBoxErr.DescriptionEndSubPrivateSubcmdClose_Click()UnloadMeEndSub●出库登记模块的实现出库登记窗口出库登记窗口PrivateSubForm_Unload(CancelAsInteger)Screen.MousePointer=vbDefaultEndSubPrivateSubdatPrimaryRS_Error(ByValErrorNumberAsLong,DescriptionAsString,ByValScodeAsLong,ByValSourceAsString,ByValHelpFileAsString,ByValHelpContextAsLong,fCancelDisplayAsBoolean)'错误处理程序代码置于此处'想要忽略错误,注释掉下一行'想要捕获它们,在此添加代码以处理它们MsgBox"Dataerroreventhiterr:"&DescriptionEndSubPrivateSubdatPrimaryRS_MoveComplete(ByValadReasonAsADODB.EventReasonEnum,ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset)'为这个recordset显示当前记录位置datPrimaryRS.Caption="Record:"&CStr(datPrimaryRS.Recordset.AbsolutePosition)EndSubPrivateSubdatPrimaryRS_WillChangeRecord(ByValadReasonAsADODB.EventReasonEnum,ByValcRecordsAsLong,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset)'验证代码置于此处'下列动作发生时该事件被调用DimbCancelAsBooleanSelectCaseadReasonCaseadRsnAddNewCaseadRsnCloseCaseadRsnDeleteCaseadRsnFirstChangeCaseadRsnMoveCaseadRsnRequeryCaseadRsnResynchCaseadRsnUndoAddNewCaseadRsnUndoDeleteCaseadRsnUndoUpdateCaseadRsnUpdateEndSelectIfbCancelThenadStatus=adStatusCancelEndSubPrivateSubcmdAdd_Click()OnErrorGoToAddErrdatPrimaryRS.Recordset.AddNewExitSubAddErr:MsgBoxErr.DescriptionEndSubPrivateSubcmdDelete_Click()OnErrorGoToDeleteErrWithdatPrimaryRS.Recordset.Delete.MoveNextIf.EOFThen.MoveLastEndWithExitSubDeleteErr:MsgBoxErr.DescriptionEndSubPrivateSubcmdRefresh_Click()'只有多用户应用程序需要OnErrorGoToRefreshErrdatPrimaryRS.RefreshExitSubRefreshErr:MsgBoxErr.DescriptionEndSubPrivateSubcmdUpdate_Click()OnErrorGoToUpdateErrdatPrimaryRS.Recordset.UpdateBatchadAffectAllExi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 丙烯腈装置操作工安全技能模拟考核试卷含答案
- 活性炭活化工基础晋升水平考核试卷含答案
- 2025-2026学年初中延时说课稿
- 2025-2026学年初中瑶族舞曲说课稿
- 浙江省余姚市2026年八年级上学期语文期中试卷附答案
- 2026年镁冶炼行业投资价值分析报告及未来五至十年成本优化与效率提升
- 2026年文化会展服务行业市场运营态势报告及未来五至十年平台化与生态化发展
- 2026年体校及体育培训行业洞察报告及未来五至十年供需变化与价格趋势
- 2026年场地准备活动行业技术路线图报告及未来五至十年龙头崛起与格局重塑
- 2026年快艇证考试题库及答案
- 2026中国丘陵山区农机技术突破与市场推广策略报告
- CSCO多发性骨髓瘤诊疗指南2026
- 工业香精生产企业配方保密管控细则
- 实验室安全交接工作制度
- 生产经营单位安全生产事故应急救援预案
- GB/T 46164-2025金属和合金的腐蚀增材制造钛合金电化学临界局部腐蚀温度(E-CLCT)的测量
- 核反应堆核级机械设备检修工职业技能鉴定经典试题含答案
- 遗体火化师职业技能模拟试卷含答案
- 艾可慕(ICOM)IC-R5(R6)中文使用说明书
- 宫颈癌考试题及答案
- JJG 678-2007催化燃烧式甲烷测定器
评论
0/150
提交评论