




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
【標題】基于ExcelVBA中小學校收費系統的設計與實現【作者】陳松環【關鍵詞】ExcelVBA辦公自動化中小學校收費系統【指導老師】譚海軍【專業】計算機科學與技術【正文】前言研究背景辦公自動化作為一種新興的辦公手段,擁有強大的數據處理、分析能力,它有足夠的潛力“打破”傳統的手工辦公的束縛,徹底改變辦公模式,提高辦公效率、增強數據安全性。無論是從數量上還是質量上,辦公自動化都體現出了強大的優勢。對于學校而言,收費及其收費的管理一直以來都是難題。辦公自動化系統的進駐徹底改變了現狀。無論是從速度上還是從效率上都得到了極大的提高。同時減輕了參與人員的勞動強度。MicrosoftExcel是一個功能強大、廣泛使用的電子表格軟件,可實現多重安全保護(文件密碼保護、數字簽名、宏安全性),它的內置控制語言是VBA(VisualBasicForApplication),可極大地增強Excel的數據處理能力,以上特點使得學生收費系統可以利用Excel的VBA開發完成。目前國內外很多教學、科研、設計等部門都在運用這一軟件從事日常的數據表格處理。國內外辦公自動化發展情況辦公自動化于50年代在美國和日本首先興起,最初只是具有電子數據處理(EDP)的簿記功能,60年代被管理信息系統(MIS)取代,直到70年代后期才形成涉及多種技術的新型綜合學科一辦公自動化(OA)。80年代,國外辦公自動化得到了飛速發展,許多著名的計算機軟硬件公司都躋身于這一巨大的市場。進入90年代以來,辦公自動化在世界主要發達國家得到蓬勃發展。21世紀辦公自動化主要向個性化、移動辦公和智能化方向發展。我國的OA軟件業經過從80年代末至今多年的發展,已從最初的提供面向單機的輔助辦公產品,發展到今天的可提供面向企業級應用的大型協同工作產品。我國的OA軟件廠商在走過一條艱難的創業之路的同時,也積累了許多先進的技術,培養了大量優秀的人才,為我國實現全面信息化社會打下了扎實的基礎。學校收費系統的現狀諸多高級程序語言的出現和學校對收費系統的需求量促使了學校收費系統無論是量上還是質上都達到了很高的標準,功能也是應有盡有。收費、統計、催款、打印、數據庫管理等等無所不能。權限的劃分也是非常合理。但是,許多收費系統并不提供數據備份、恢復,數據導入導出。針對這幾點,本系統完美支持Excel文件數據的導入導出,大大的提高了收費效率。同時,數據的導出功能也方便了收費數據的處理、傳輸和攜帶。開發學校收費系統的意義MicrosoftExcel是一個功能強大、廣泛使用的電子表格軟件,可實現多重安全保護(文件密碼保護、數字簽名、宏安全性),它的內置控制語言是VBA(VisualBasicForApplication),可極大地增強Excel的數據處理能力,以上特點使得學生收費系統可以利用Excel的VBA開發完成。目前國內外很多教學、科研、設計等部門都在運用這一軟件從事日常的數據表格處理。對于財政開支較小的中小學來說,花一筆不菲的費用去購買專業的收費軟件是沒有多大必要的,MicrosoftExcel能輕松解決他們的問題,同時能為學校節約很大一筆開支。對于中小學教師來講,專業的軟件使用需要培訓,對學校來說也會產生很大一筆費用,但就MicrosoftExcel而言,在各個單位尤其學校使用很普遍,一般的教師都有計算機應用基礎,不需要特別的培訓就能很熟練的使用。學校收費系統系統分析需求分析需求分析是軟件開發的第一步也是最重要的一步。需求分析階段要通過描述系統的需求,通過定義系統中的關鍵領域的類來建立模型。分析的根本目的是在開發者和提出需求的人之間建立一種理解和溝通的渠道,應明確系統要服務于哪些用戶,對這些用戶提供哪些服務等。功能需求分析本系統是一個學校收費系統,我的目標是賦予其基本的收費及收費管理功能,使其能夠滿足大部分用戶的需求。所以我力圖分析理論中對用戶有價值的功能。本系統除了有基本的收費功能外,還有數據的導入導出功能。用戶可以根據需要導出或者導入某段時間的收費數據,同時用戶也可以對數據進行匯總或者備份。我將學校收費系統劃分為管理員對功能的需求和操作員對功能的需求兩個部分。他們的需求如下所列:?操作員對功能的需求收費、基本信息(操作員關聯、學生信息更改(添加、修改、刪除))、收費標準(收費標準一覽))、收費查詢(按年級查詢、按個人查詢(按學號查詢、按姓名查詢))、欠款統計(按班級統計、按年級統計)、票據打印、數據導入導出等。?管理員對功能的需求收費、基本信息(操作員關聯、學生信息更改(添加、修改、刪除)、操作員信息修改(添加、修改、刪除、權限設置))、收費標準(收費標準一覽、收費標準設置(添加收費項、修改收費項、刪除收費項、生成應收款)、補助標準設置(年級補助、貧困補助、個人獎勵))、收費查詢(按年級查詢、按個人查詢(按學號查詢、按姓名查詢))、欠款統計(按班級統計、按年級統計、生成欠款通知單)、票據打印、收費匯總、數據導入、數據導出、數據備份等。非功能性需求分析要求系統擁有清爽簡潔的外觀,采用正常平衡的頁面布局,強調秩序,能達到安定誠實、信賴的效果;要求界面符合大多用戶的操作習慣,操作簡單,易學;要求系統進行消息傳遞時順利通暢;并且要求系統具有較高的安全性。與大多數收費系統一樣,本系統也采用了數據庫,但是本系統不僅僅采用了數據庫,同時也采用了EXCEL工作表,二者相結合更能滿足用戶的需求。且用戶對數據的操作不會直接和工作表或數據庫打交道,一切由窗體查詢實現。使整個過程不會變得繁雜。系統介紹系統的結構系統的結構如下:圖2.2.1管理員功能圖2.2.2操作員功能用戶使用流程介紹?管理員:登陸一添加年級一添加班級一添加學生名單一添加收費標準一分發到操作員?操作員:登陸一真實姓名關聯一收費一打印票據一導出收費數據供管理員匯總主要模塊介紹管理中心模塊?密碼修改:無論是管理員還是操作員,只能修改自己的密碼,無權修改他人密碼。?班級管理:該模塊負責年級添加、修改、刪除和班級添加、修改、刪除。為了保證數據一致,班級中的年級不能以不存在的年級名稱進行添加。?用戶管理:該模塊是管理員權限模塊,操作員無權操作。管理員則可以添加、修改、刪除用戶,改變用戶權限,對于用戶密碼丟失的進行密碼重置。?學生管理:該模塊的功能是添加、修改、刪除學生信息。收費模塊?該模塊負責學生的收費。收費查詢模塊?該模塊是對應收金額、已收金額、補助金額、欠費金額的查詢。查詢可按年級查詢,可按班級查詢,也可以按學號或者姓名單個查詢。數據中心模塊?數據中心模塊主要是對收費數據匯總、備份、導入、導出。系統的技術特點及運行環境?采用EXCELVBA+ACCESS2003安全性高、可操作性好。?免安裝、體積小,便于攜帶。?系統開發與運行環境開發環境:開發語言:ExcelVBA數據庫:MicrosoftAccess2003運行環境:安裝有MicrosoftExcel2003的Windows系列操作系統數據庫設計ADO概述ADO是ActiveXDataObjects的縮寫,又稱為OLE自動化接口,中文名稱為動態數據對象,是目前Microsoft通用的數據訪問技術。ADO是為OLEDB設計的,而OLEDB則是由ODBC延伸出來的COM組件,是一個便于應用的底層接口。使用ADO以后,OLEDB的使用變得更加簡單。通過ADO可以訪問多種類型的數據庫數據,其中就包括Excel文件。ADO具有以下特點:?將原本復雜的數據庫程序開發編程輕松容易的工作,除了具有傳統數據庫開發環境的優點外,還增加了對數據庫修改和維護的功能。?幾乎兼容所有的數據庫系統,并為他們都提供了相同的處理界面供程序設計人員使用。?能跨多種不同的程序語言開發環境,并且提供了類似的設計方式,方便了用戶的使用。?幾乎可以在任何支持COM(ComponentObjectModel,組件對象模型)和OLE(對象鏈接和嵌入)的服務器端操作系統上使用。利用ADO訪問數據庫每個數據庫連接只能服務于一段VBA程序,如果有其他的程序或其他的人需要數據庫的服務就需要建立新的數據庫連接。因此,ADO提供了控制連接通斷的方法,以此保證每個連接都可以盡快地利用數據庫的服務。Excel中若要訪問數據庫,必先建立與數據庫的連接,為了創建數據庫與Excel的連接,首先必須要引用ADO對象庫。幾個需要引用的項目如下(版本隨機器上安裝的版本有所變化,如你機器里面是其他版本,那么就引用該版本):1)MicrosoftADOext2.8forDDLandsecurityMicrosoftactivedataobjects(multi-dimensional)2.8libraryMicrosoftactivedataobjectsrecordset2.8libraryMicrosoftactivedataobjects2.8libraryMicrosoftjetandreplocationobjects2.8library引用方法:在ExcelVBA編輯器窗口中,單擊【工具】菜單中的【引用】命令,打開【引用-VBAproject】對話框,勾選相應的項目即可,如圖:圖3.1添加引用ADO的責任被劃分為3個部分。以下分別說明。?建立數據庫連接(Connection)在ADO中表示數據庫連接的對象叫做Connection。該對象的Connectionstring屬性就表示目標數據庫的地址,以下代碼將與某個Access數據庫建立連接。DimMyconasadodb.connection'申明connection對象類型的變量名為MyconSetMycon=newadodb.connection‘生成一個新的connection對象,將存儲到Mycon變量中DimconstrasstringConstr=”provider=microsoft.jet.oledb.4.0;datasource二”+“thisworkbook.path&”\csh收費系統.mdb””‘指定數據庫位置Mycon.connectionstring=constrMycon.open‘連接Mycon.close'斷開?執行SQL命令(Command)數據庫連接建立之后,需要向數據庫傳遞相應的命令,以實現操作數據庫的目的。由于一個連接可能會涉及到不止一個SQL命令,因此SQL命令由獨立的Command對象來表示。在建立Command對象后,就可以發出命令操作數據庫。一般情況下,Command對象可以在數據源中添加、修改、刪除和更新數據、或在表中查詢數據。?處理命令執行的結果(Recordset)對于查詢的SQL命令,執行的結果保存到Recordset對象中。通過使用Recoedset對象,可以瀏覽記錄、修改記錄、添加記錄、或者刪除記錄等等。系統數據庫設計3.3.1系統E-R圖圖3.2系統E-R圖數據表設計根據系統功能設計的要求以及功能模塊的劃分,對于本系統的數據,可以列出以下數據項和數據結構:?年級表:該表用于存儲年級信息,表的結構如下:表3.1年級表字段名稱數據類型字段長度說明年級名稱文本40主鍵?班級表:該表用于存儲班級信息,表的結構如下:表3.2班級表字段名稱數據類型字段長度說明年級名稱文本40年級名稱來源于年級表班級名稱文本40無?收費標準表:該表用于存儲收費項目和金額,表的結構如下:表3.3收費標準表字段名稱數據類型字段長度說明年級名稱文本40年級名稱來源于年級表收費項目文本40無收費金額貨幣無學期文本40無?學生表:該表用于存儲學生與收費有關的基本信息,表的結構如下:表3.4學生表字段名稱數據類型字段長度說明學號文本40主鍵姓名文本40學生姓名年級文本40學生所屬年級班級文本40學生所屬班級?學生信息表:該表用于存儲學生所有的收費信息,該表結構如下表3.5學生信息表字段名稱數據類型字段長度說明學號文本40學號來源于學生表姓名文本40姓名來源于學生表年級文本40年級來源于學生表班級文本40班級來源于學生表學期文本40學期來源于收費標準表補助貨幣無應收貨幣無已收貨幣無欠款貨幣無收款人文本40無收款日期時間/日期記錄系統當前時間備注文本40記錄補助原因等系統實現設計是對系統的詳細描述,我們需要在這里提供中小學收費系統的詳細解決方案和具體解決過程。在這一部分,我們需要對系統作進一步的描述。針對本系統而言所有的代碼和界面都在Excel2003中的VBE中實現。下面將列出主要的界面及關鍵性的、難以實現的代碼。4.1ExcelVBA概述VBA是VisualBasicforApplication的簡寫,是一種由微軟開發的自動化語言。這種自動化語言主要用于控制Office應用程序,包括Outlook、Word、PowerPoint等。由于VBA可以應用于眾多的Office應用程序中,為了區分與不同的應用程序結合的VBA,經常將應用程序的名字加在VBA前。故產生了ExcelVBA之說。ExcelVBA是寄生在Excel之上的,也就是說,如果機器上沒有安裝Excel,則無法運行ExcelVBA,同時這也是VB與VBA的區別之一。使用ExcelVBA可以完成以下工作:?制作報表?填寫報表?管理工作表與工作簿?修飾報表的外觀?打印、發送報表?統計報表中的數據?用報表中的數據生成圖形實際上,ExcelVBA可以完成所有Excel的功能。如果不計算機工作量的話,ExcelVBA能完成的功能任何一門計算機編程語言都有完成以上功能的可能,但是使用ExcelVBA來實現這些功能與其他高級編程語言相比有如下優點:?可以利用Excel已經實現的絕大部分功能,節約開發時間。?可以利用Excel已經實現的大量函數。?可以利用Excel熟悉的界面。?可以實現需求,進行幾乎無限的擴展。界面的設計及代碼實現4.2.1初始界面本系統所使用的VBA必須依賴Excel,當運行本系統的時候會自動打開一個Excel工作簿,這與我們平時見到的收費系統有所不同,為了消除視覺上的差異,必須在運行本系統的時候自動隱藏工作簿而只顯示窗體界面。對于VBA而言,這一點可以輕松實現,步驟如下:第一步:打開ExcelVBE界面第二步:雙擊“工程-VBAproject下面的Thisworkbook第三步:輸入如下代碼:PrivateSubworkbook_open()‘工作簿打開時候執行事件DimwsAsWorksheetForEachwsInWorksheetsws.Visible=TrueNextApplication.Visible=False'設置工作簿的屬性為不顯示login.Show'顯示系統登陸界面EndSub4.2.2系統登陸界面本系統中,管理員和操作員登陸共用一個入口,其好處在于我們登陸的時候不必選擇管理員或者是操作員,我們只需輸入用戶名和密碼,系統會自動識別并給出相應權限。相對于常見的系統,要方便得多。登陸界面如下:圖4.1登陸界面由于收費系統中操作用戶不會太多,故本系統中采用的是把操作員和管理員的信息裝在工作表“用戶表”中,而不是采用數據庫的形式,這樣的好處是整個登陸過程不會調用數據庫。并且利用工作表來管理同樣能夠實現數據庫的功能和安全性。其代碼如下:PrivateSubcmdl_Click()'登陸按紐事件DimxRngAsRangeSetxRng=Sheets("用戶表").Range("A3:A53")'再判斷用戶名是否不存在IfApplication.WorksheetFunction.CountIf(xRng,txt1)=0ThenMsgBox"無此用戶名!",vbInformation,"系統提示"ExitSubEndIfWithSheets(〃用戶表〃)'最后判斷用戶名與密碼是否一致frow=.Range("A3:A53").Find(what:=txt1).RowIf.Cells(frow,2)<>CStr(txt2.Text)ThenMsgBox("密碼錯誤")txt1.Text=""txt2.Text=""ExitSubEndIfSheets("用戶表").Cells(l,1)=login.txtl.ValueUnloadMeIf.Cells(frow,3)=2Then'驗證用戶,是管理員則顯示用戶表Sheets("用戶表").Visible=T-x1sheetveryhidden收費系統.ShowElse收費系統.ShowEndIfEndWithEndSubPrivateSublogin_Initialize()‘初始化窗體txt1.RowSource="用戶名"txt1.SetFocusEndSubPrivateSubcmd2_Click()'關閉按紐Application.QuitEndSub在工作表“用戶表“中使用4個字段:用戶名,密碼,權限,真實姓名。其中權限用于識別登陸人員是管理員還是操作員,并據此給出相應的權限,而真實姓名則用于收費中的實名制,有利于責任劃分。對于“Sheets("用戶表").Cells(l,1)=login.txtl.Value“這句代碼,可能很多人不解,其實很簡單,它把當前登陸的用戶名顯示到單元格中的作用是:將登陸框中用戶名寫入sheets(“用戶表”)的A1單元格中。4.2.3系統主界面當用戶登陸成功后將顯示主界面。主界面上主要是功能菜單,實現的是鏈接的功能,主要采用的是Click事件,代碼不再贅述,其界面如下:圖4.2收費系統主界面4.2.4班級管理界面班級管理實現年級添加、修改、刪除和班級添加、修改、刪除的功能。為減少用戶操作出錯率,不允許用戶直接添加班級,而是先添加年級之后,在添加班級的時候直接選擇班級所在的年級。其界面如下:圖4.3班級管理界面由于設計各個功能的時候采用的是一個窗體實現一個功能,所以設計到數據庫的多次連接,各功能模塊代碼如下:‘年級添加主要代碼DimsqlAsStringmydata=ThisWorkbook.Path&"\CSH收費系統.mdb"‘指定數據庫位置mytable="年級表"‘指定數據表Setcnn=NewADODB.Connection‘生成Connection對象,將其放入到變量cnn中Withcnn.Provider="microsoft.jet.oledb.4.0".OpenmydataEndWithsql="select*from"&mytable&"where年級名稱='"&TextBox1.Value&"'"Setrs=NewADODB.Recordsetrs.Opensql,cnn,adOpenKeyset,adLockOptimisticIfrs.RecordCount<>0ThenMsgBox"你所添加的年級已經存在,不能重復添加!"Elsers.AddNewrs.Fields("年級名稱")=TextBoxl.Valuers.UpdateMsgBox"年級添加成功"EndIfrs.Closecnn.CloseSetrs=NothingSetcnn=Nothing4.2.5收費界面收費界面實現的學生收費功能,界面可以根據學生的學號或者姓名(如有重名則需要其提供學號)以及學期信息自動顯示學生所在年級、班級、應交款。操作員點擊確定時學生的收費信息將保存到數據表“學生信息表”中。同時用戶可以通過明細查看學生交費詳細信息(應交、已交、補助、欠費等等)。其界面如下:
圖4.4收費界面圖4.5收費明細界面‘收費界面主要代碼如下DimsqlAsStringmydata=ThisWorkbook.Path&"\CSH收費系統.mdb"mytable="學生信息表"Setcnn=NewADODB.ConnectionWithcnn.Provider="microsoft.jet.oledb.4.0".OpenmydataEndWithsql="select*from"&mytable&"where學號='"&TextBox1.Value&"'"&"and學期='"&ComboBox1.Value&Setrs=NewADODB.Recordsetrs.Opensql,cnn,adOpenKeyset,adLockOptimisticSetrs=NewADODB.Recordsetrs.Openmytable,cnn,adOpenKeyset,adLockOptimisticrs.AddNewrs.Fields("收款日期")=Daters.Fields("備注")二"無"rs.Updaters.Fields("學號rs.Fields("學號")rs.Fields("姓名")rs.Fields("年級")rs.Fields("班級")rs.Fields("學期")rs.Fields("應收")rs.Fields("已收")rs.Fields("欠款")rs.Fields("補助")TextBox1.ValueTextBox2.ValueTextBox3.ValueTextBox4.ValueComboBox1.ValueTextBox5.ValueTextBox7rs.Fields("應收")-rs.Fields("已收")-rs.Fields("rs.Fields("收款人")=收費系統.Label31.CaptionLabel13.Caption="收費成功!"數據導出界面該界面的主要功能是將數據從數據庫中導出到Excel文件中,以便于數據備份和匯總。用戶可以選擇導出數據的起始日期和終止日期進行有選擇的數據導出。并將導出數據自動保存到“數據導出.xls“中。其界面如下圖:圖4.6數據導出界面‘數據導出的主要代碼:DimwbAsWorkbookDimmycolAsIntegerSetwb=Workbooks.Addwb.SaveAsFilename:二ThisWorkbook.Path&"\數據導出.xls"‘保存路徑和名稱DimmydataAsString,sqlAsStringDimcnnAsADODB.ConnectionDimrsAsRecordsetDimiAsIntegerActiveSheet.Cells.Clearmydata=ThisWorkbook.Path&"\CSH收費系統.mdb"Setcnn=NewADODB.ConnectionWithcnn.Provider="microsoft.jet.oledb.4.0".OpenmydataEndWithsql="SELECT*FROM學生信息表WHERE收款日期>=#"&DTPicker1.Value&"#"&"and收款日期<=#"&DTPicker2.Value&"#"Setrs=NewADODB.Recordsetrs.Opensql,cnn,adOpenKeyset,adLockOptimisticFormycol=1Tors.Fields.CountCells(1,mycol)=rs.Fields(mycol-1).NameNextmycolRange("a2").CopyFromRecordsetrsActiveSheet.Columns.AutoFitrs.Closecnn.CloseSetrs=NothingSetcnn=Nothingwb.SaveActiveWorkbook.CloseMsgBox"數據導出成功,并保存在同文件夾下文件名為數據導出的工作簿中!",vbInformation,"提示"數據導入界面該界面主要實現的功能是將“.xls”文件類型的數據導入到數據表中,在數據的恢復中將會用到。其界面如下:圖4.7數據導入界面當點擊數據導入按紐將出現對話框,用戶可以選擇導入數據源的路徑。其主要代碼如下:DimmyfilenameAsStringmyfilename=Application.GetOpenFilename("excel工作簿(*.xls),*.xls")Ifmyfilename<>"False"ThenWorkbooks.OpenFilename:=myfilenameDimmydataAsString,mytableAsString,sqlAsStringDimcnnAsADODB.ConnectionDimrsAsADODB.RecordsetDimrsxAsADODB.Recordsetmydata=ThisWorkbook.Path&"\CSH收費系統.mdb"mytable="學生信息表"n=Sheets("sheet1").Range("a65536").End(xlUp).RowSetcnn=NewADODB.ConnectionWithcnn.Provider="microsoft.jet.oledb.4.0".OpenmydataEndWithmysql="select*from"&mytableSetrs=NewADODB.Recordsetrs.Openmysql,cnn,adOpenKeyset,adLockOptimisticFori=2Tonsql="select*from"&mytable&"where學號='"&Cells(i,1).Value&"'"Setrsx=NewADODB.Recordsetrsx.Opensql,cnn,adOpenKeyset,adLockOptimisticrsx.AddNewForj=1Torsx.Fields.Countrsx.Fields(Cells(1,j).Value)=Cells(i,j).ValueNextjrsx.UpdateNextiMsgBox"數據導入完畢!",vbInformation+vbOKOnlyrs.Closecnn.CloseSetrs=NothingSetcnn=NothingSetrsx=NothingActiveWorkbook.CloseElseMsgBox"沒有選擇工作簿"EndIf數據匯總界面該界面實現的功能是將多個工作簿進行匯總。圖4.8數據匯總界面當點擊數據匯總按紐,將彈出對話框,用戶可以自行輸入路徑,也可以采用默認路徑,由于本功能所采用的是匯總文件夾下所有“.xls”文件,所以建議用戶將要匯總的文件統一放到本系統中“數據匯總”文件夾內,同時在數據匯總的時候選擇默認路徑。‘數據匯總的主要代碼如下:DimmypathAsString,defaultpathAsString,mysqlAsStringDimiAsInteger,jAsInteger,nAsInteger,pAsIntegerDimn1AsInteger,n2AsInteger,n3AsInteger,n4AsIntegerDimcnnAsADODB.ConnectionDimrsAsADODB.Recordset'刪除當前工作簿的總表工作表中所有數據Worksheets("總表").Cells.Clear'從指定文件夾中尋找要匯總工作簿文件defaultpath=ThisWorkbook.Path&"\數據匯總\"mypath=InputBox("請輸入要查詢工作簿的文件夾完整目錄及名字:"&cbcrlf&vbCrLf&"如果為空,則默認為"&vbCrLf&defaultpath,"輸入路徑",defaultpath)Ifmypath=""Thenmypath=defaultpathApplication.StatusBar="正在查找匯總工作簿……"Setfs=Application.FileSearchWithfs.LookIn=mypath.FileType=msoFileTypeExcelWorkbooksIf.Execute(SortBy:=msoSortByFileName,sortorder:=msoSortOrderAscending)>0Thenp=.FoundFiles.CountMsgBox"在此文件夾中共有"&p&"個工作表的數據文件需要匯總!",vbInformation,"搜索到匯總文件"ReDimmyfile(p)AsStringFori=1Topmyfile(i)=.FoundFiles(i)NextiElseMsgBox"沒有搜索到要匯總的文件",vbInformation,"沒有匯總文件"Application.StatusBar=FalseExitSubEndIfEndWith'建立與每個工作簿的連接,查詢記錄并且復制到工作表總表中Fori=1TopSetcnn=NewADODB.ConnectionWithcnn.Provider="microsoft.jet.oledb.4.0".ConnectionString="extendedproperties=excel8.0;"&"datasource="&myfile(i).OpenEndWith'查詢每個工作簿的全部記錄數據Setrs=NewADODB.Recordsetmysql="select*from[sheet1$]"rs.Openmysql,cnn,adOpenKeyset,adLockOptimisticIfi=1ThenForj=0Tors.Fields.Count-1Worksheets("總表").Cells(l,j+1)=rs.Fields(j).NameNextjEndIfn=Worksheets("總表").Range("a65536").End(xlUp).RowIfrs.RecordCount<>0ThenWorksheets("總表").Range("a"&n+l).CopyFromRecordsetrsEndIfNexti軟件測試軟件測試是為了發現程序中的錯誤而執行程序的過程。其目標是不斷暴露程序中的錯誤,并且加以改正,使系統不斷完善。模塊測試在模塊測試時,首先應該對模塊接口的數據流進行測試,如果數據不能正確進出所有其他測試都是不切實際的。在對模塊接口進行測試時主要檢查下述幾方面:參數的數目、次序、屬性或單位系統與變元是否一致;是否修改了只作輸入用的變元;全局變量的定義和用法在各個模塊中是否一致。表5.1用戶登陸測試模塊一測試用例期望結果實際結果用戶登陸用戶名:chensonghuan密碼:123456登陸成功登陸成功用戶名:chensonghuan密碼:12345密碼出錯密碼出錯用戶名:密碼:123456用戶名為空用戶名為空用戶名:chensong密碼:123456用戶名不存在系統報錯用戶名:'dsads密碼:123456用戶名不存在系統報錯表5.2班級管理模塊測試模塊二測試用例期望結果實際結果班級管理添加小Listbox1顯示小無添加小1班Listbox2顯示小2班無表5.3收費模塊測試模塊三測試用例期望結果實際結果收費模塊學號:00001顯示學生所有基本信息顯示學生所有基本信息學號:00006學號有誤學號有誤姓名:張小麗顯示學生所有基本信息顯示學生所有基本信息姓名:王八學生姓名有誤學生姓名有誤姓名:張雨(設置兩個相同名字)顯示學生所有基本信息只顯示第一個張雨的基本信息表5.4數據導出測試模塊四測試用例期望結果實際結果數據導出空數
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 冬季鋼結構施工材料選擇措施
- 六年級健康飲食教育方案
- 醫療行業醫務人員師德師風心得體會
- 智能農業內容開發合同
- 公共工程項目經理簡歷模板
- 購銷合同包括采購合同
- 安徽省馬鞍山市2023-2024學年高二下學期期末考試語文試題(解析版)
- 教育行業拓展部職責與目標
- 初三數學備課組線上教學計劃
- 沿途的風景更美作文(14篇)
- 接處警規范化操作培訓體系
- 晚期胃癌護理
- 大部分分校:地域文化形考任務三-國開(CQ)-國開期末復習資料
- 【MOOC】模擬電子電路實驗-東南大學 中國大學慕課MOOC答案
- ISO28000:2022供應鏈安全管理體系
- JIS G4305-2021 冷軋不銹鋼板材、薄板材和帶材
- JJG 211-2021 亮度計檢定規程(高清最新版)
- 高壓噴射注漿工程施工工藝標準
- 最新部編版九年級語文下冊課件(完美版)寫作布局謀篇
- 農村水電站崗位設置及定員標準(全面)
- 第五章溶膠凝膠法
評論
0/150
提交評論