版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第10章設(shè)計模塊與事件驅(qū)動程序模塊化程序設(shè)計類模塊與標準模塊模塊與過程的關(guān)系Sub子過程與Function子過程的定義過程調(diào)用與參數(shù)傳遞事件與事件驅(qū)動常用的事件過程
學(xué)習(xí)目標理解類模塊、標準模塊及其區(qū)別了解描述模塊與過程的相互關(guān)系理解Sub子過程及Function子過程掌握過程定義、調(diào)用與參數(shù)傳遞的方法理解變量的作用范圍及生命周期理解事件及事件驅(qū)動
概述實際上我們在程序設(shè)計時,首先將整個系統(tǒng)分解成若干個獨立的子系統(tǒng),然后對子系統(tǒng)進行編程、調(diào)試,這種設(shè)計方法充分體現(xiàn)了模塊化程序設(shè)計的思想。在Access中,模塊是一個重要的對象,它是用戶開發(fā)應(yīng)用程序的基本手段。
過程與模塊過程是VBA代碼的容器,在Access中有三種類型的容器,它們分別是子程序、函數(shù)過程和屬性過程。雖然它們的功能可以組合,但是每種過程都有其獨特的功能。一個模塊由若干個函數(shù)過程或子過程組成。另外,在學(xué)習(xí)窗體或報表時,經(jīng)常要從工具欄中選取某些控件,放置在窗體或報表上。這些控件就是對象,其中封裝了一些屬性或方法,用戶可以根據(jù)設(shè)定使用。對于同一種控件,設(shè)定的屬性不同,其表現(xiàn)的形式就不同,從而產(chǎn)生的實例也就不同。模塊和宏的使用很相似,宏的每一個操作都有其對應(yīng)的VBA代碼。因此,我們可以將宏轉(zhuǎn)化為等效的模塊,從而提高運行速度。雖然模塊和宏的使用很相似,但是宏的使用有一定的局限性,有些復(fù)雜的條件或程序結(jié)構(gòu),只能利用模塊來實現(xiàn)。將宏轉(zhuǎn)化為模塊的操作如下。在Access數(shù)據(jù)庫窗口對象中單擊宏對象,選中要轉(zhuǎn)化為模塊的宏,使用工具菜單下的“將宏轉(zhuǎn)化為VisualBasic代碼”命令來實現(xiàn)轉(zhuǎn)化。將宏轉(zhuǎn)化為VBA代碼子過程的定義與參數(shù)傳遞一個模塊中通常包含一個或多個過程,模塊功能的實現(xiàn)就是通過執(zhí)行具體的過程來完成的,在本節(jié)中,我們將結(jié)合實例介紹過程創(chuàng)建、過程調(diào)用和參數(shù)傳遞的使用。VBA程序中的過程分為兩種類型,Sub子過程和Function函數(shù)過程。例題其中Int_Mul子過程求兩個整數(shù)的積,并將其輸出到立即窗口,在Demo子過程中調(diào)用Int_Mul子過程求5與8的積。
在數(shù)據(jù)庫窗口中,選中模塊對象,單擊“新建”,在打開的VBE中輸入如下代碼:SubDemo()CallInt_Mul(5,8)‘調(diào)用Int_Mul子過程求5與8的積EndSubSubInt_Mul(aasInteger,basInteger)DimResultAsIntegerResult=a*bDebug.PrintResultEndSub
代碼編輯窗口命令按鈕向?qū)υ捒蛟谶@里我們選擇了查找下一項記錄的操作,則生成了如下的子過程代碼:PrivateSub命令_Click()OnErrorGoToErr-命令_ClickDoCmd.FindnextFindnext-命令_Click:ExitSubErr-命令_Click:MsgBoxErr.DescriptionResumeFindnext-命令_ClickEndSub在Access窗體視圖中瀏覽窗體時,單擊此按鈕,窗體就會顯示下一個記錄。此時這個過程的執(zhí)行是通過單擊按鈕事件而進行的。這就是在本章后面要介紹的事件驅(qū)動機制。函數(shù)過程的定義和調(diào)用如果希望一組單一功能的VBA代碼返回一個數(shù)值,就用函數(shù)來表示。Function函數(shù)過程是由Function語句開始來聲明一個函數(shù),并使用EndFunction語句結(jié)束。Function函數(shù)執(zhí)行一系列操作,有返回值。定義格式如下:[Public/Private][static]Function函數(shù)過程名([<行參表>])[As數(shù)據(jù)類型][〈函數(shù)過程語句〉][ExitFuncion][〈函數(shù)過程語句〉][函數(shù)過程名=〈表達式〉]EndFunction使用Public關(guān)鍵字,則所有模塊的所有其他過程都可以調(diào)用它。使用Private關(guān)鍵字,則該函數(shù)只適用于同一個模塊中的其他過程。包括Static關(guān)鍵字時,只要含有這個過程的模塊是打開的,則所有在這個過程中無論是顯示還是隱含說明的變量值都將被保留??梢栽诤瘮?shù)過程名末尾使用一個類型聲明字符或使用As子句來聲明被這個函數(shù)過程返回的變量數(shù)據(jù)類型。否則VBA將自動賦予該函數(shù)過程一個最合適的數(shù)據(jù)類型。函數(shù)過程的調(diào)用形式為:函數(shù)過程名[<實參表>]函數(shù)過程的調(diào)用會返回一個值,函數(shù)過程的調(diào)用形式與標準函數(shù)的使用完全相同。函數(shù)代碼FunctionInt_Sum(aasInteger,basInteger)DimResultAsIntegerInt_Sum=a+bEndFunction例調(diào)用子函數(shù)作為表達式的一部分參與運算。要求:在標準模塊中輸入如下3個過程,CircleArea函數(shù)和SquareArea函數(shù)分別用于求圓和正方形的面積,主過程Max1用于比較半徑和邊長相同的圓和正方形的面積的大小。
‘利用半徑求圓面積PrivateFunctionCircleArea(rAsInteger)Constpi=3.14‘定義pi為常數(shù)
CircleArea=pi*r*rEndFunction‘求正方形的面積PrivateFunctionSquareArea(lineAsInteger)SquareArea=line*lineEndFunction‘比較半徑和邊長相同的圓和正方形的面積的大小PrivateSubMax1()DimsAsIntegerS=InputBox(“請輸入測試數(shù)據(jù)”)‘利用對話框接收測試數(shù)據(jù)
IfCircleArea(s)>SquareArea(s)Then‘函數(shù)作為表達式參與運算
MsgBox“半徑和邊長相同的圓和正方形,圓的面積更大!”
EndIfEndSub
參數(shù)傳遞由上面的過程定義可以看到,過程定義時可以設(shè)置一個或多個形參(形式參數(shù)的簡稱),形參之間用逗號分隔。其中,每個形參的完整定義格式為:[Optional][ByVal|ByRef][ParamArray]varname[()][AsType][=Defaultvalue]各項含義如下:VarName,必選項,形參名稱。遵循標準的變量命名規(guī)則。Type,可選項,傳遞給過程參數(shù)的數(shù)據(jù)類型。Optional,可選項,如果使用了ParamArray,則任何參數(shù)都不能使用Optional.ByVal,可選項,表示該參數(shù)按值傳遞。ByRef,可選項,表示該參數(shù)按地址傳遞。Byref是VBA的缺省選項。ParamArray,可選項。只用于形參的最后一個參數(shù),指明最后這個參數(shù)是一個Variant元素的Optional數(shù)組。但ParamArray關(guān)鍵字不能與Byval,ByRef或Optional一起使用。Defaultvalue,可選項,任何常數(shù)或常數(shù)表達式。只對Optional參數(shù)合法。如果類型為Object,則顯示的缺省值是Nothing。代碼的編輯窗口
例11.5如果把主調(diào)過程命令1_Click()不做任何改變,將被調(diào)函數(shù)GetData的定義做如下修改,參數(shù)傳遞改為按值傳遞,代碼如下所示:PrivateFunctionGetData(ByValmAsInteger)‘形參m被說明為ByVal傳值形式的整型量m=m+6GetData=mEndFunction通過同樣的方法調(diào)用GetData函數(shù),執(zhí)行結(jié)果如圖所示,m值沒有發(fā)生變化,仍為5。傳值調(diào)用的結(jié)果變量的作用域和生命周期變量作用域的分為三個層次,局部范圍、模塊范圍和全局范圍。1.局部范圍如果變量定義在過程或函數(shù)體內(nèi),只有在過程代碼執(zhí)行時變量才發(fā)生作用。這樣的變量稱為局部變量,只能在過程或函數(shù)內(nèi)才有效。不同的過程或函數(shù)中,可以定義具有相同名字的變量,它們之間是互相獨立的。這種變量一般是在過程內(nèi)使用Dim定義或通過直接使用一個新變量名,即為隱式定義。例有如下程序PrivateMyNameAsStringPublicYourNameAsStringPrivateSub命令0_Click()DimHisNameAsString…EndSubPrivateSub命令1_Click()DimHerName=”王芳”
…EndSub
說明上面程序中定義了4個變量,其中MyName變量是用Private定義在模塊的所有過程前,所以是模塊級變量,在本模塊的所有過程中均有效,在“命令0_Click”和“命令1_Click”中都可以使用此變量;YourName是用Public定義在模塊的所有過程前,是一個全局變量,不僅在本模塊中的任何一個過程中可以使用,而且在本模塊所在的工程中的其它代碼中也可使用;HisName和HerName都只是定義在各自的過程中,所以都是局部變量。注意:盡管在“命令0_Click”過程中沒有定義HerName變量,如果直接給HerName變量賦值,也不會出錯。但是這個HerName變量是在“命令0_Click”過程中隱式定義的一個變量,和“命令1_Click”中的HerName變量不是同一個變量。例新建一個窗體,窗體上放置命令按鈕Command1和Command2。PublicaAsInteger,bAsIntegerPrivateSubCommand1_Click()DimaAsIntegerMsgBox“變量a:”&aMsgBox“變量b:”&bEndSubPrivateSubCommand2_Click()MsgBox“變量a:”&aMsgBox“變量b:”&bEndSubPrivateSubForm_Load()a=1b=1EndSub分析程序運行即定義了a,b兩個全局變量,窗體運行時執(zhí)行了Load事件后兩個變量都為1,當點擊了Command1,在Command1_Click過程中定義了一個局部變量a,根據(jù)規(guī)定這個a變量自動初始化為0,并且在本過程內(nèi)部屏蔽了全局變量a,所以此時的MsgBox函數(shù)顯示出a,b的值分別為0和1;當點擊了Command2,Command2_Click過程MsgBox函數(shù)顯示出a,b的值均為1。變量的生命周期變量的生命周期是指變量值的有效存活期。對于模塊級和全局變量,其生命周期與應(yīng)用程序的生命周期相同,也就是說,應(yīng)用程序運行時,該變量總是起作用的。局部變量的生命周期又分為兩種情況:1.用Dim定義的局部變量用Dim定義的局部變量或直接使用一個新變量名,其值只能在所屬過程或函數(shù)的活動期間有效。當退出該過程或函數(shù)時,該變量和它的值都將被清除。當該過程或函數(shù)被再次調(diào)用執(zhí)行時,將重新創(chuàng)建和初始化該變量。2.用Static定義的靜態(tài)變量用Static定義的變量稱為靜態(tài)變量,在所屬的過程或函數(shù)執(zhí)行結(jié)束后,其值仍然存在。在下次調(diào)用該過程時,其值不被重置,仍保留原來(上次運行結(jié)束時)的結(jié)果,直到模塊被復(fù)位或重新啟動。
例如,在一個函數(shù)中編寫如下代碼:StaticaAsIntegera=a+1說明由于用Static定義的變量a是一個靜態(tài)變量,所以在第一次執(zhí)行該函數(shù)時,a的結(jié)果是1。函數(shù)執(zhí)行完畢后,變量a仍然保存在內(nèi)存中。第二次再執(zhí)行該函數(shù)時就在原來1的基礎(chǔ)上再次加1,所以第二次運行完畢后變量a的結(jié)果為2。如果要清除過程中的靜態(tài)變量,選擇“運行”菜單的“重新設(shè)置”命令。
10.2Access常用的對象事件在前面的章節(jié)中我們已經(jīng)學(xué)習(xí)了事件和事件過程,在本節(jié)中我們將主要討論Access中的對象事件。我們知道VBA是面向?qū)ο蟮母呒壋绦蛘Z言,在VBA中有一類特殊的過程,它們的執(zhí)行是通過動作來觸發(fā)執(zhí)行的。這就是一種事件驅(qū)動機制。那么我們怎樣來理解呢?其實在日常生活中,我們無時無刻不處在事件以及對事件的處理中。例如,交通路口指示燈的變化、電話鈴響、有人喊我們的名字等等,這些都是事件。當這些事件發(fā)生時,我們會采取相應(yīng)的行動;如果交通燈是紅色的,就要停下來;電話鈴響了,就要接電話。由此可以看出,作為客體的我們也可以叫做一個被事件驅(qū)動的人。在Access中通過對窗體或報表上的控件等對象施加某種動作,例如,用鼠標單擊按鈕、窗體或報表的打開等,這樣就發(fā)生了事件。如何處理、響應(yīng)這些事件呢?在Access中是通過兩種方式來處理窗體、報表或控件的事件響應(yīng)。一是使用宏對象來設(shè)置事件屬性;二是為某個事件編寫VBA代碼過程,這樣的代碼過程稱為事件過程或事件響應(yīng)代碼。編寫事件過程是最常用的事件處理方法。在VBA中,使用一種特殊的命名方式來命名事件過程,這種格式的一般形式是:“對象名_事件”。當該對象發(fā)生事件時,系統(tǒng)就去尋找相應(yīng)的處理過程來處理它,也就是說,每個事件都可以由一段程序驅(qū)動來響應(yīng)。Access窗體、報表和控件的事件有很多,下面我們將介紹一些常用的事件過程。鍵盤事件鍵盤事件是用戶操作鍵盤所引發(fā)的事件,常用的鍵盤事件有鍵按下(KeyDown)、鍵釋放(KeyUp)、擊鍵(KeyPress)等。1.鍵按下事件當在某對象上按下鍵盤上的任意鍵時都會觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_KeyDown(KeyCodeAsInteger,ShiftAsInteger)參數(shù):KeyCode為按鍵的位置碼,Shift為3個狀態(tài)鍵(Shift、Ctrl和Alt)的狀態(tài)。2.鍵釋放事件當在某對象上釋放鍵盤上的任意鍵時都會觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_KeyUp(KeyCodeAsInteger,ShiftAsInteger)3.擊鍵事件當在某對象上按下鍵盤上的任意字符按鍵時都會觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_KeyPress(KeyAsciiAsInteger)參數(shù):KeyAscii為返回按鍵的Ascii碼值。例以下示例確定是否已經(jīng)按下Shift、Ctrl或Alt按鍵。要求:新建一個窗體名稱為Form1,在窗體上放置一個文本框?qū)ο?,名稱為ytest1,顯示內(nèi)容為“鍵盤事件的測試”,然后打開文本框的屬性對話框,在事件選項卡下選擇“鍵按下”事件過程。其代碼如下:PrivateSubytest_KeyDown(KeyCodeAsInteger,ShiftAsInteger)DimintShiftDownAsInteger,intAltDownAsIntegerDimintCtrlDownAsInteger‘使用位掩碼確定按下了哪個鍵intShiftDown=(ShiftAndacShiftMask)>0intAltDown=(ShiftAndacAltMask)>0intCtrlDown=(ShiftAndacCtrlMask)>0‘顯示消息,表示用戶按下的鍵IfintShiftDownThenMsgBox“您按下了SHIFT鍵!”
EndifIfintAltDownThenMsgBox“您按下了ALT鍵!”EndifIfintCtrlDownThenMsgBox“您按下了CTRL鍵!”EndifEndSub運行結(jié)果如下:將窗體切換到窗體視圖,在文本框中單擊Shift、Alt或Ctrl鍵查看顯示結(jié)果。結(jié)果如圖11.11所示。圖鍵盤KeyDown事件的測試例以下示例演示,當文本框獲取焦點時,接收按下的鍵盤上的字母鍵并將其轉(zhuǎn)化為大寫字母顯示在文本框中。要求:在上例的窗體Form1上放置一個文本框?qū)ο?,名稱為ytest2,顯示內(nèi)容為“鍵盤事件的測試2”,然后打開文本框的屬性對話框,在事件選項卡下選擇“擊鍵”事件過程。其代碼如下:PrivateSubytest2_KeyPress(KeyAsciiAsInteger)Char=Chr(KeyAscii)KeyAsch=Asc(UCase(Char))EndSub運行結(jié)果如下:將窗體切換到窗體視圖,在文本框中輸入字符student查看顯示結(jié)果。結(jié)果如圖11.12所示。圖鍵盤KeyPress事件的測試鼠標事件鼠標事件即在操作鼠標所引發(fā)的事件,常用的鼠標事件有單擊(Click)、雙擊(DblClick)、鼠標按下(MouseDown)、鼠標釋放(MouseUp)和鼠標移動(MouseMove)等。1.單擊事件當在某對象上單擊鼠標左鍵時觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_Click()2.雙擊事件當在某對象上雙擊鼠標左鍵時觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_DblClick(CancelAsInteger)參數(shù):Cancel決定該操作是否能夠有效。3.鼠標按下事件當在某對象上按下鼠標左鍵時觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)參數(shù):Button為按鍵的信息,Shift為3個狀態(tài)鍵(Shift、Ctrl和Alt)的狀態(tài),參數(shù)X,Y為按下鼠標按鍵時鼠標所在的位置。4.鼠標釋放事件當在某對象上釋放鼠標左鍵時觸發(fā)事件,其事件定義格式如下:PrivateSub對象_MouseUp(ButtonAsInteger,ShiftAsIneger,XAsSingle,YAsSingle)參數(shù):Button為按鍵的信息,Shift為3個狀態(tài)鍵(Shift、Ctrl和Alt)的狀態(tài),參數(shù)X,Y為按下鼠標按鍵時鼠標所在的位置。5.鼠標移動事件當在某對象移鼠標時觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_MouseMove(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)參數(shù):Button為按鍵的信息,Shift為3個狀態(tài)鍵(Shift、Ctrl和Alt)的狀態(tài),參數(shù)X,Y為按下鼠標按鍵時鼠標所在的位置。例以下示例確定鼠標位置,以及是否按下了鼠標左鍵或Shift按鍵。當移動鼠標時,鼠標指針位置的X和Y坐標將顯示在標簽控件中。測試此示例,請將下列事件過程添加到窗體Formycx1中,窗體標題為“MouseEvent”,并使該窗體含有一個名為ycx0的標簽。PrivateSubFormycx1_MuseMove(ButtonAsInteger,ShiftAsInteger,XAsInteger,YAsInteger)DimintShiftDownAsInteger,intLeftButtonAsIntegerMe!ycx0.Caption=X&”,”&Y‘使用位掩碼確定‘Shift鍵和鼠標左按鈕的狀態(tài)intShiftDown=ShiftAndacShiftMaskintLeftButton=ButtonAndacLeftButton‘檢查是否同時按下Shift鍵和鼠標左按鈕IfintShiftDownAndintLeftButton>0ThenMsgBox””EndIfEndSub運行結(jié)果如下:將窗體切換到窗體視圖,并且同時單擊Shift鍵和鼠標左鍵,注意查看標簽控件的變化及提示框,結(jié)果如圖11.13所示。圖MouseMove鼠標事件的測試窗口事件窗口事件是指操作窗口時引發(fā)的事件。常用的窗口事件有打開(Open)、關(guān)閉(Close)、調(diào)整大小(Resize)、激活(Activate)、停用(Deactivate)、加載(Load)和卸載(Unload)等。1.打開事件在打開一個窗體和報表時觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_Open(CancelAsInteger)參數(shù):Cancel決定該操作是否能夠有效地進行。當Cancel的值為0時窗口被打開;當Cancel的值為1時窗口將不被打開。2.關(guān)閉事件當關(guān)閉一個窗體和報表時觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_Close()3.加載事件當一個窗體被別載時觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_Load()在該事件中可以進行一些窗體的初始化工作。4.卸載事件當一個窗體被卸載觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_Unload(CancelAsInteger)例以下示例測試窗體的打開事件。示例顯示在用戶單擊“否”按鈕時,如何取消窗體的打開事件。如果用戶單擊“否”,F(xiàn)orm1窗體將不打開如果要試驗此示例,請將下列事件代碼添加到窗體中。PrivateSubForm1_Open(CancelAsInteger)DimintReturnAsIntegerintReturn=MsgBox(“現(xiàn)在打開form1窗體嗎?”,vbYesNo)SelectCaseintReturnCasevbYesDoCmd.OpenForm”form1”‘打開form1窗體
CasevbNoMsgBox”RemembertoenterForm1by5P.M.”Cancel=True‘取消Open事件EndSelectEndSub運行結(jié)果如下:將窗體切換到窗體視圖,即打開窗體時,顯示如下結(jié)果,如圖11.14所示。圖窗口事件的測試對象事件對象事件是指當對對象進行操作時所引發(fā)的事件。常用的對象事件有獲得焦點(GetFocus)、失去焦點(LostFocus)、更新前(BeforeUpdate)、更新后(AfterUpdate)和更改(Change)等。1.獲得焦點事件當一個對象由沒有焦點的狀態(tài)變?yōu)橛薪裹c的狀態(tài)時觸發(fā)的事件,其事件定義格式如下:PrivateSub對象_GetFocus()2.失去焦點事件當一個對象由有焦點的狀態(tài)變?yōu)闆]有焦點的狀態(tài)時的事件,其事件定義格式如下:PrivateSub對象_GetFocus()3.更新前事件對象中的數(shù)據(jù)被修改時,當按下鍵,或?qū)⒔裹c從該對象上移開時觸發(fā)該事件,其事件定義格式如下:PrivateSub對象_BeforeUpdate(CancelAsInteger)該事件可以用于檢驗數(shù)據(jù)輸入的有效性,當輸入無效數(shù)據(jù)時,可以將參數(shù)Cancel設(shè)置為1,此時就無法將焦點從該對象上移開。例要求對學(xué)生信息窗體上的學(xué)生編號文本框控件ycx3中輸入的數(shù)據(jù)進行驗證。要求:該文本框中只接受200到400之間的數(shù)值數(shù)據(jù),提示取消不合法的數(shù)據(jù)。PrivateSuby3_BeforeUpdate(CancelAsInteger)IfMe!Y3=””O(jiān)rIsNull(Me!Y3)Then‘數(shù)據(jù)為空時的驗證MsgBox”學(xué)生編號不能為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 羽絨原料購銷合同范例
- 通風(fēng)系統(tǒng)改造合同范例
- 承包土地建房合同范例
- 衣柜買賣合同范例
- 個人門窗裝修合同范例
- 法律合同范例合租合同范例
- 合伙經(jīng)營餐廳合同范例
- 家具維修采購合同范例
- 正規(guī)鞋子合同范例
- 出差電腦租賃合同范例
- 2023年中證數(shù)據(jù)招聘筆試真題
- 2024年農(nóng)村公寓房屋買賣協(xié)議書參考樣本3篇
- 木桶效應(yīng)-課件
- 五年級數(shù)學(xué)(小數(shù)乘除法)計算題專項練習(xí)及答案匯編
- 初中濟南版生物實驗報告單
- 北京郵電大學(xué)《自然語言處理》2023-2024學(xué)年第一學(xué)期期末試卷
- (DB45T 2522-2022)《橋梁纜索吊裝系統(tǒng)技術(shù)規(guī)程》
- 2024年廣西安全員A證考試題及答案
- 2024年全國《考評員》專業(yè)技能鑒定考試題庫與答案
- 道法全冊知識點梳理-2024-2025學(xué)年統(tǒng)編版道德與法治七年級上冊
- 四川省成都市2023-2024學(xué)年高二上學(xué)期期末考試+地理 含答案
評論
0/150
提交評論