制造资源计划(MRP)的原料清单系统_第1页
制造资源计划(MRP)的原料清单系统_第2页
制造资源计划(MRP)的原料清单系统_第3页
制造资源计划(MRP)的原料清单系统_第4页
制造资源计划(MRP)的原料清单系统_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

19/19制造资源计划(MRP)的原料清单系统目录一、概述 2二、方法 21、用户输入产品 22、分解处理产品 23、汇总原料清单 24、对每次分解的管理 2三、实现 21、表结构设计 2(1)、用户输入表 2(2)、分解储存表 32、K3数据库支持 3(1)、物料信息SQL 3(2)、BOM信息SQL 33、Workbook对象函数 44、Sheets(“备料”)对象函数 4(1)、控件属性函数 4(2)、源单输入按钮动作 6(3)、源单处理按钮动作 6(4)、执行汇总按钮动作 6(5)、历史单号按钮动作 6(6)、单号汇总按钮动作 6(7)、单号删除按钮动作 65、VBA模块函数 7(1)、输入表格函数 7(2)、分解处理函数 8(3)、汇总显示函数 12(4)、历史单号函数 15(5)、单号汇总函数 16(6)、单号删除函数 17四、效果 181、用户输入界面 182、分解处理界面 183、执行汇总界面 184、历史单号界面 185、单号汇总界面 186、单号删除界面 19五、附件 19yanjizun20130516

一、概述本实例实现对用户输入的产品进行分解成原料,然后对分解的原料按用户使用的需要,进行分类汇总显示,以此形成原料清单反馈给用户使用。本实例需要子系统支持运行,分别是物料信息管理系统、物料清单管理系统,这里使用金蝶K3软件的物料系统、BOM系统支持。二、方法1、用户输入产品在Excel表中实现用户输入,其中物料代码、需要数量为必填项目,为作原料清单分解的基础,分解开始时就要检查输入数据的有效性,如果有填写错误,则在备注中写入提示信息,并提醒用户改正,直到检查无误后,进入分解处理步骤。2、分解处理产品用Access数据库储存处理的数据,处理以逐层分解的循环进行,首先将用户输入的数据作为第0层数据,保存到分解储存表里,然后用循环计数器进行逐层递增,每层的循环开始执行时,都先查询该层是否有可分解的物料,无则退出循环,有则逐个分解,并将分解的物料按当前层+1层写入到分解储存表里,然后进入下一次循环,直至每个可分解的物料都被分解成原料,储存在分解储存表里。这样,就可以通过对分解储存表进行分类汇总,得到原料清单。3、汇总原料清单用SQL对分解储存表里的原料记录进行汇总后在Excel表中显示,汇总方案可以根据用户的实际需要定制,也可以制定几个基本的方案供用户选择,譬如按原料的层次汇总、按原料的代码汇总。本方案输入表里增加源单编号、源单行号的选填项目,可以让用户通过填写主项目与子项目的区别,然后对不同的项目进行汇总,属于实践应用的灵活扩展功能。4、对每次分解的管理由于每次分解的结果都是储存起来供用户查询、按不同需要汇总使用的,因此需要对每次的保存都提供一个单号来区分,本方案用时间来作为单号,可以表达每个单号的唯一性和时序性,成为每次分解管理的基础,然后提供历史单号、单号汇总、单号删除的功能,实现用户对每次处理的原料清单都可以有效地管理,形成一个完整系统。三、实现1、表结构设计(1)、用户输入表Excel.Sheet(“备料”)序字段名称字段表标题字段值类型字段值来源1行号IDInteger分解填写,行计数值。2源单编号SourceBillNoVarchar(50)选填,=“无单号”。3源单行号SourceEntryIDVarchar(50)选填,=行号。4物料代码MaterialNumberVarchar(50)必填。5物料源组ERPClsNameVarchar(50)处理返写,物料属性。6产品代码MaterialModelVarchar(255)处理返写,物料规格。7产品名称MaterialNameVarchar(255)处理返写,物料名称。8需要数量NeedQtyDecimal(28,10)必填。9物料单号BOMBiIlNoVarchar(50)处理返写,已使用的BOM单号。10备注MRPNoteVarchar(255)处理返写,需注意信息。(2)、分解储存表Access.Table(“MRPLog”)序字段名称字段表标题字段值类型字段值来源1单号MRPIDVarchar(15)分解填写,YYYYMMDD-HHMMSS。2物料层次LevelIDInteger分解填写,以来源为0层递增。3物料顺序LevelEntryIDInteger分解填写,为BOM单行号。4源单编号SourceBillNoVarchar(50)分解填写。5源单行号SourceEntryIDVarchar(50)分解填写。6物料代码MaterialNumberVarchar(50)分解填写。7物料源组ERPCLSNameVarchar(15)分解填写。8产品代码MaterialModelVarchar(255)分解填写。9产品名称MaterialNameVarchar(255)分解填写。10需要数量NeedQtyDecimal(28,10)分解填写。11物料单号BOMBillNoVarchar(50)分解填写。12备注MRPNoteVarchar(255)分解填写。2、K3数据库支持(1)、物料信息SQLSELECTa1.FNumberAS'MaterialNumber', a2.FNameAS'ERPCLSName', a1.FModelAS'MaterialModel', a1.FNameAS'MaterialName', ISNULL(a4.FBOMNumber,'')AS'BOMNumber'FROMt_ICItemASa1 LEFTJOINt_SubMessageASa2ONa2.FInterID=a1.FErpClsID LEFTJOINt_SubMessageASa3ONa3.FInterID=a1.FUseState LEFTJOINICBOMASa4ONa4.FUseStatus=1072ANDa4.FItemID=a1.FItemIDWHERE1=1ANDa1.FDeleted=0ANDa3.FName='使用'ANDa1.FNumber='物料代码'(2)、BOM信息SQLSELECTa1.FQtyAS'BOMQty', a1.FYieldAS'BOMYield', a2.FEntryIDAS'BOMEntryID', a3.FNumberAS'ChildNumber', a4.FNameAS'ERPCLSName', a3.FModelAS'ChildModel', a3.FNameAS'ChildName', a2.FQtyAS'ChildQty', ISNULL(a5.FBOMNumber,'')AS'ChildBOMNumber'FROMICBOMASa1 LEFTJOINICBOMChildASa2ONa2.FInterID=a1.FInterID LEFTJOINt_ICItemASa3ONa3.FItemID=a2.FItemID LEFTJOINt_SubMessageASa4ONa4.FInterID=a3.FERPCLSID LEFTJOINICBOMASa5ONa5.FUseStatus=1072ANDa5.FItemID=a2.FItemIDWHEREa1.FUseStatus=1072ANDa1.FBOMNumber='SQLKey'ORDERBYa2.FEntryIDASC3、Workbook对象函数PrivateSubWorkbook_Open()Sheets(“备料”).ButtonResetEndSub4、Sheets(“备料”)对象函数(1)、控件属性函数SubButtonReset()WithMRPInputSubmit.Caption="源单输入".Font.Size=12.Width=60.Height=21.75.Top=2.25.Left=100EndWithWithMRPDisposeSubmit.Caption="源单处理".Font.Size=12.Width=60.Height=21.75.Top=2.25.Left=160EndWithWithMRPIDTextTitle.Caption="单号".Font.Size=14.Width=30.Height=21.75.Top=6.Left=230EndWithWithMRPIDTextInputIf.Text=""Then.Text="备料单号"EndIf.Font.Size=14.Font.Bold=True.Width=150.Height=21.75.Top=3.Left=260EndWithWithMRPIDReadTypeIf.Text=""Then.Text="按物料汇总"EndIf.List=Array("不汇总","按源单汇总","按源行汇总","按层次汇总","按物料汇总").Font.Size=14.Width=100.Height=21.75.Top=2.25.Left=410EndWithWithMRPIDReadSubmit.Caption="执行汇总".Font.Size=12.Width=60.Height=21.75.Top=2.25.Left=510EndWithWithMRPLogListSubmit.Caption="历史单号".Font.Size=12.Width=60.Height=21.75.Top=2.25.Left=580EndWithWithMRPLogReadSubmit.Caption="单号汇总".Font.Size=12.Width=60.Height=21.75.Top=2.25.Left=640EndWithWithMRPLogDelSubmit.Caption="单号删除".Font.Size=12.Width=60.Height=21.75.Top=2.25.Left=700EndWithEndSub(2)、源单输入按钮动作SubMRPInputSubmit_Click()DimSheetNameAsStringSheetName=ActiveSheet.NameMRP.InputResetSheetNameButtonResetEndSub(3)、源单处理按钮动作SubMRPDisposeSubmit_Click()DimSheetNameAsStringSheetName=ActiveSheet.NameMRP.InputDisposeSheetNameButtonResetEndSub(4)、执行汇总按钮动作SubMRPIDReadSubmit_Click()DimSheetNameAsStringSheetName=ActiveSheet.NameMRP.ResultReportSheetNameButtonResetEndSub(5)、历史单号按钮动作SubMRPLogListSubmit_click()DimSheetNameAsStringSheetName=ActiveSheet.NameMRP.LogListSheetNameButtonResetEndSub(6)、单号汇总按钮动作SubMRPLogReadSubmit_click()DimSheetNameAsStringSheetName=ActiveSheet.NameMRP.LogReadSheetNameButtonResetEndSub(7)、单号删除按钮动作SubMRPLogDelSubmit_Click()DimSheetNameAsStringSheetName=ActiveSheet.NameMRP.LogDelSheetNameButtonResetEndSub5、VBA模块函数(1)、输入表格函数SubInputReset(ByValSheetNameAsString)'InputcheckIfSheetName=""ThenMsgBox"表名为空。"ExitSubElseIfCommon.SheetExist(SheetName)=FalseThenMsgBox"表("&SheetName&")不存在。"ExitSubEndIfDimClearSureAsVbMsgBoxResultClearSure=MsgBox("这会清除当前表的内容,是否继续?",vbYesNo)IfClearSure=vbNoThenExitSubEndIf'ResetsheetWithSheets(SheetName).Cells.Clear.MRPIDTextInput.Text="".Cells.NumberFormatLocal="@".Rows(1).RowHeight=40.Rows(1).VerticalAlignment=xlBottom'Inputtablecreate.Cells(1,1).Value="行号".Cells(1,2).Value="源单编号".Cells(1,3).Value="源单行号".Cells(1,4).Value="物料代码".Cells(1,5).Value="物料源组".Cells(1,6).Value="产品代码".Cells(1,7).Value="产品名称".Cells(1,8).Value="需要数量".Cells(1,9).Value="物料单号".Cells(1,10).Value="备注"''Colormark.Cells(1,4).Font.Color=vbBlue.Cells(1,8).Font.Color=vbBlue'Viewformat.Columns.AutoFit.Cells(2,2).SelectActiveWindow.FreezePanes=FalseActiveWindow.FreezePanes=TrueEndWithEndSub(2)、分解处理函数SubInputDispose(ByValSheetNameAsString)'InputtablecheckIfSheetName=""ThenMsgBox"表名为空。"ExitSubElseIfCommon.SheetExist(SheetName)=FalseThenMsgBox"表("&SheetName&")不存在。"ExitSubEndIfIfSheets(SheetName).Cells(1,4).Value<>"物料代码"AndSheets(SheetName).Cells(1,8).Value<>"需要数量"ThenMsgBox"当前内容不可处理。"ExitSubEndIfIfSheets(SheetName).Cells(2,4).Value=""ThenMsgBox"请从第2行开始连续填写,其中产品代码、需要数量为必填项。"ExitSubEndIf'InputcontentcheckDimSheetRowCountAsInteger,CheckErrFlagAsBoolean,MRPNoteAsStringDimMaterialInfoRSAsADODB.RecordsetSheetRowCount=2CheckErrFlag=FalseMRPNote=""WithSheets(SheetName).Cells.Interior.Color=xlNoneDoWhile.Cells(SheetRowCount,4).Value<>""'Rowcontentcheck''1/10行号.Cells(SheetRowCount,1).Value=SheetRowCount-1''2/10源单编号If.Cells(SheetRowCount,2).Value=""Then.Cells(SheetRowCount,2).Value="无单号"EndIf''3/10源单行号If.Cells(SheetRowCount,3).Value=""Then.Cells(SheetRowCount,3).Value=SheetRowCount-1EndIf''4/10物料代码,5/10物料源组,6/10产品代码,7/10产品名称,9/10物料单号If.Cells(SheetRowCount,4).Value<>""ThenSetMaterialInfoRS=K3DB.GetRS("MRPMaterialInfo",CStr(.Cells(SheetRowCount,4).Value))IfMaterialInfoRSIsNothingThenCheckErrFlag=TrueMRPNote=MRPNote&"产品代码检查失败。".Cells(SheetRowCount,4).Interior.Color=vbYellow.Cells(SheetRowCount,5).Value="".Cells(SheetRowCount,6).Value="".Cells(SheetRowCount,7).Value="".Cells(SheetRowCount,9).Value=""ElseIfMaterialInfoRS.RecordCount=0ThenCheckErrFlag=TrueMRPNote=MRPNote&"产品代码不可用。".Cells(SheetRowCount,4).Interior.Color=vbYellow.Cells(SheetRowCount,5).Value="".Cells(SheetRowCount,6).Value="".Cells(SheetRowCount,7).Value="".Cells(SheetRowCount,9).Value=""Else.Cells(SheetRowCount,4).Interior.Color=vbGreen.Cells(SheetRowCount,4).Value=MaterialInfoRS("MaterialNumber").Value.Cells(SheetRowCount,5).Value=MaterialInfoRS("ERPCLSName").Value.Cells(SheetRowCount,6).Value=MaterialInfoRS("MaterialModel").Value.Cells(SheetRowCount,7).Value=MaterialInfoRS("MaterialName").ValueIfMaterialInfoRS("ERPCLSName").Value<>"外购"AndMaterialInfoRS("BOMNumber").Value=""ThenCheckErrFlag=TrueMRPNote=MRPNote&"无可用BOM单。".Cells(SheetRowCount,9).Value="".Cells(SheetRowCount,9).Interior.Color=vbYellowElse.Cells(SheetRowCount,9).Value=MaterialInfoRS("BOMNumber").Value.Cells(SheetRowCount,9).Interior.Color=vbGreenEndIfEndIfSetMaterialInfoRS=NothingEndIf''8/10需要数量If.Cells(SheetRowCount,8).Value<>""ThenIfIsNumeric(.Cells(SheetRowCount,8).Value)=FalseThenCheckErrFlag=TrueMRPNote=MRPNote&"需要数量不是数值。".Cells(SheetRowCount,8).Interior.Color=vbYellowElseIfCDbl(.Cells(SheetRowCount,8).Value)<=0ThenCheckErrFlag=TrueMRPNote=MRPNote&"需要数量必须大于零值。".Cells(SheetRowCount,8).Interior.Color=vbYellowElse.Cells(SheetRowCount,8).Interior.Color=vbGreenEndIfElseCheckErrFlag=TrueMRPNote=MRPNote&"需要数量必填。".Cells(SheetRowCount,8).Interior.Color=vbYellowEndIf''10/10运算备注.Cells(SheetRowCount,10).Value=MRPNoteMRPNote=""'RowcountaddSheetRowCount=SheetRowCount+1IfSheetRowCount>1001ThenMsgBox"超过1000行,超出的忽略处理。"ExitDoEndIfLoopEndWithIfCheckErrFlag=TrueThenMsgBox"请改正黄色单元格的内容后,再重新操作。"ExitSubEndIf'InputDisposeDimMRPIDAsString,LevelIDCountAsInteger,LevelRS,BOMChildRSAsADODB.Recordset,LevelRSCount,BOMChildRSCountAsInteger,SQLSucceedAsBooleanMRPID=Format$(Now(),"YYYYMMDD-HHMMSS")LevelIDCount=0LevelRSCount=1''SourcesaveSheetRowCount=2WithSheets(SheetName)DoWhile.Cells(SheetRowCount,4).Value<>""'RowinserttoMRPLoglevel0SQLSucceed=ASDB.T1Execute("INSERTINTOMRPLog(MRPID,LevelID,LevelEntryID,SourceBillNo,SourceEntryID,MaterialNumber,ERPCLSName,MaterialModel,MaterialName,NeedQty,BOMBillNo,MRPNote)"_&"VALUES('"&MRPID&"',"&LevelIDCount&","&.Cells(SheetRowCount,1).Value&",'"_&.Cells(SheetRowCount,2).Value&"','"&.Cells(SheetRowCount,3).Value&"','"_&.Cells(SheetRowCount,4).Value&"','"&.Cells(SheetRowCount,5).Value&"','"&.Cells(SheetRowCount,6).Value&"','"&.Cells(SheetRowCount,7).Value&"',"_&.Cells(SheetRowCount,8).Value&",'"&.Cells(SheetRowCount,9).Value&"','"&.Cells(SheetRowCount,10).Value&"')")IfSQLSucceed=FalseThenASDB.T1Execute("DELETEFROMMRPLogWHEREMRPID='"&MRPID&"'")ExitDoEndIf'RowcountaddSheetRowCount=SheetRowCount+1LoopEndWith''SourceunfoldDo'NextdocheckSetLevelRS=ASDB.T1GetRS("SELECT*FROMMRPLogWHEREMRPID='"&MRPID&"'ANDLevelID="&LevelIDCount&"ANDBOMBillNo<>''")IfLevelRSIsNothingThenExitDoElseIfLevelRS.RecordCount=0ThenExitDoEndIf'NexttounfoldLevelRS.MoveFirstForLevelRSCount=1ToLevelRS.RecordCountSetBOMChildRS=K3DB.GetRS("MRPMaterialChild",CStr(LevelRS("BOMBillNo").Value))IfBOMChildRSIsNothingThenExitForElseIfBOMChildRS.RecordCount=0ThenExitForEndIf'BOMChildinserttoMRPLoglevel+1BOMChildRS.MoveFirstForBOMChildRSCount=1ToBOMChildRS.RecordCountIfBOMChildRS("ERPCLSName").Value="自制"AndBOMChildRS("ChildBOMNumber").Value=""ThenMRPNote=MRPNote&"无可用BOM单。"EndIfSQLSucceed=ASDB.T1Execute("INSERTINTOMRPLog(MRPID,LevelID,LevelEntryID,SourceBillNo,SourceEntryID,MaterialNumber,ERPCLSName,MaterialModel,MaterialName,NeedQty,BOMBillNo,MRPNote)"_&"VALUES('"&MRPID&"',"&LevelIDCount+1&","&BOMChildRS("BOMEntryID").Value&",'"_&LevelRS("SourceBillNo").Value&"','"&LevelRS("SourceEntryID").Value&"','"_&BOMChildRS("ChildNumber").Value&"','"&BOMChildRS("ERPCLSName").Value&"','"&BOMChildRS("ChildModel").Value&"','"&BOMChildRS("ChildName").Value&"',"_&BOMChildRS("ChildQty").Value*LevelRS("NeedQty").Value/BOMChildRS("BOMQty").Value&",'"&BOMChildRS("ChildBOMNumber").Value&"','"&MRPNote&"')")MRPNote=""IfSQLSucceed=FalseThenASDB.T1Execute("DELETEFROMMRPLogWHEREMRPID='"&MRPID&"'")ExitDoEndIfBOMChildRS.MoveNextNextSetBOMChildRS=NothingLevelRS.MoveNextNextLevelRSCountSetLevelRS=Nothing'CountaddLevelIDCount=LevelIDCount+1IfLevelIDCount>10ThenMsgBox"物料层次超过10层,强行退出。"ExitDoEndIfLoop'ReportresultWithSheets(SheetName).MRPIDTextInput.Text=MRPID.MRPIDReadSubmit_ClickEndWithEndSub(3)、汇总显示函数SubResultReport(ByValSheetNameAsString)'InputcheckIfSheetName=""ThenMsgBox"表名为空。"ExitSubElseIfCommon.SheetExist(SheetName)=FalseThenMsgBox"表("&SheetName&")不存在。"ExitSubEndIfDimMRPID,ReportTypeAsStringIfSheets(SheetName).MRPIDTextInput.Text=""ThenMsgBox"请填写要汇总的单号。"ExitSubEndIfIfSheets(SheetName).MRPIDReadType.Text=""ThenMsgBox"请选择一个汇总类型。"ExitSubEndIfMRPID=Sheets(SheetName).MRPIDTextInput.TextReportType=Sheets(SheetName).MRPIDReadType.Text'ResultSQLcreateDimReportSQLAsString,ReportRSAsADODB.RecordsetReportSQL="SELECTMRPIDAS备料单号,LevelIDAS物料层次,LevelEntryIDAS层次行号,SourceBillNoAS源单编号,SourceEntryIDAS源单行号,"_&"MaterialNumberAS物料代码,ERPCLSNameAS物料源组,MaterialModelAS产品代码,MaterialNameAS产品名称,"_&"NeedQtyAS需要数量,BOMBillNoAS物料单号,MRPNoteAS备注"_&"FROMMRPLogWHEREMRPID='"&MRPID&"'"WithSheets(SheetName)If.MRPIDReadType.Text="按源单汇总"ThenReportSQL="SELECTSourceBillNoAS源单编号,"_&"MaterialNumberAS物料代码,ERPCLSNameAS物料源组,MaterialModelAS产品代码,MaterialNameAS产品名称,"_&"SUM(NeedQty)AS需要数量,BOMBillNoAS物料单号,MRPNoteAS备注"_&"FROMMRPLogWHEREMRPID='"&MRPID&"'"_&"GROUPBYSourceBillNo,MaterialNumber,ERPCLSName,MaterialModel,MaterialName,BOMBillNo,MRPNote"_&"ORDERBYSourceBillNo,MaterialNumberASC"ElseIf.MRPIDReadType.Text="按源行汇总"ThenReportSQL="SELECTSourceBillNoAS源单编号,SourceEntryIDAS源单行号,"_&"MaterialNumberAS物料代码,ERPCLSNameAS物料源组,MaterialModelAS产品代码,MaterialNameAS产品名称,"_&"SUM(NeedQty)AS需要数量,BOMBillNoAS物料单号,MRPNoteAS备注"_&"FROMMRPLogWHEREMRPID='"&MRPID&"'"_&"GROUPBYSourceBillNo,SourceEntryID,MaterialNumber,ERPCLSName,MaterialModel,MaterialName,BOMBillNo,MRPNote"_&"ORDERBYSourceBillNo,SourceEntryID,MaterialNumberASC"ElseIf.MRPIDReadType.Text="按层次汇总"ThenReportSQL="SELECTLevelIDAS物料层次,"_&"MaterialNumberAS物料代码,ERPCLSNameAS物料源组,MaterialModelAS产品代码,MaterialNameAS产品名称,"_&"SUM(NeedQty)AS需要数量,BOMBillNoAS物料单号,MRPNoteAS备注"_&"FROMMRPLogWHEREMRPID='"&MRPID&"'"_&"GROUPBYLevelID,MaterialNumber,ERPCLSName,MaterialModel,MaterialName,BOMBillNo,MRPNote"_&"ORDERBYLevelID,MaterialNumberASC"ElseIf.MRPIDReadType.Text="按物料汇总"ThenReportSQL="SELECT"_&"MaterialNumberAS物料代码,ERPCLSNameAS物料源组,MaterialModelAS产品代码,MaterialNameAS产品名称,"_&"SUM(NeedQty)AS需要数量,BOMBillNoAS物料单号,MRPNoteAS备注"_&"FROMMRPLogWHEREMRPID='"&MRPID&"'"_&"GROUPBYMaterialNumber,ERPCLSName,MaterialModel,MaterialName,BOMBillNo,MRPNote"_&"ORDERBYMaterialNumberASC"EndIfEndWith'ResultreadSetReportRS=ASDB.T1GetRS(ReportSQL)IfReportRSIsNothingThenMsgBox"汇总查询返回无集。"ExitSubElseIfReportRS.RecordCount=0ThenMsgBox"汇总查询返回空集。"ExitSubEndIf'ReportdisplayApplication.ScreenUpdating=FalseDimRSRowCount,RSColCountAsLongWithSheets(SheetName).Cells.Clear.Cells.NumberFormatLocal="@".Rows(1).RowHeight=40.Rows(1).VerticalAlignment=xlBottom.Cells(1,1).Value="备料单号:".Cells(1,2).Value=MRPIDReportRS.MoveFirstForRSRowCount=1ToReportRS.RecordCountForRSColCount=0ToReportRS.Fields.Count-1'RowtitleIfRSRowCount=1Then.Cells(2,RSColCount+1).Value=ReportRS(RSColCount).NameEndIf'Rowcontent.Cells(RSRowCount+2,RSColCount+1).Value=ReportRS(RSColCount).ValueNextRSColCountReportRS.MoveNextNextRSRowCount.Columns.AutoFit.Cells(3,2).SelectActiveWindow.FreezePanes=FalseActiveWindow.FreezePanes=TrueEndWithSetReportRS=NothingApplication.ScreenUpdating=TrueMsgBox"汇总完成。"EndSub(4)、历史单号函数SubLogList(ByValSheetNameAsString)'InputcheckIfSheetName=""ThenMsgBox"表名为空。"ExitSubElseIfCommon.SheetExist(SheetName)=FalseThenMsgBox"表("&SheetName&")不存在。"ExitSubEndIf'LogreadDimLogRSAsADODB.RecordsetSetLogRS=ASDB.T1GetRS("SELECTDISTINCTMRPIDAS备料单号FROMMRPLogORDERBYMRPID")IfLogRSIsNothingThenMsgBox"历史单号查询返回无集。"ExitSubElseIfLogRS.RecordCount=0ThenMsgBox"历史单号查询返回空集。"ExitSubEndIf'LogdisplayApplication.ScreenUpdating=FalseDimRSRowCount,RSColCountAsLongWithSheets(SheetName).Cells.Clear.Cells.NumberFormatLocal="@".Rows(1).RowHeight=40.Rows(1).VerticalAlignment=xlBottomLogRS.MoveFirstForRSRowCount=1ToLogRS.RecordCount

温馨提示

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

最新文档

评论

0/150

提交评论