《Access數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》課件第8章_第1頁(yè)
《Access數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》課件第8章_第2頁(yè)
《Access數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》課件第8章_第3頁(yè)
《Access數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》課件第8章_第4頁(yè)
《Access數(shù)據(jù)庫(kù)應(yīng)用技術(shù)》課件第8章_第5頁(yè)
已閱讀5頁(yè),還剩60頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第8章模塊8.1面向?qū)ο蟮某绦蛟O(shè)計(jì)基礎(chǔ)8.2創(chuàng)建模塊8.3過(guò)程8.4VBA編程環(huán)境8.5VBA程序設(shè)計(jì)基礎(chǔ)上機(jī)實(shí)驗(yàn)8模塊的創(chuàng)建與應(yīng)用 8.1面向?qū)ο蟮某绦蛟O(shè)計(jì)基礎(chǔ)

8.1.1對(duì)象

在面向?qū)ο蟮脑O(shè)計(jì)中,人們把準(zhǔn)備模型化的客觀現(xiàn)實(shí)看成是由對(duì)象組成的,對(duì)象則是某種可觀察的實(shí)體,如學(xué)號(hào)、姓名、成績(jī)等。

8.1.2對(duì)象的屬性

在面向?qū)ο蟮母拍钪?,一個(gè)對(duì)象的特征或狀態(tài)是由對(duì)象的屬性描述的。對(duì)象的某一屬性是對(duì)對(duì)象某方面特征的描述,如窗體有高度、寬度、背景顏色等屬性。8.1.3對(duì)象的方法

對(duì)象的方法是指對(duì)象所具有的行為或功能,如表的打開、關(guān)閉、消息顯示等。

8.1.4對(duì)象的事件

事件是一種特定的操作,在某個(gè)對(duì)象上發(fā)生或?qū)δ硞€(gè)對(duì)象發(fā)生。Access可以響應(yīng)多種類型的事件:鼠標(biāo)單擊、數(shù)據(jù)更改、窗體打開或關(guān)閉及其他類型的事件。事件的發(fā)生通常是用戶操作的結(jié)果。

8.2創(chuàng)建模塊

8.2.1將宏轉(zhuǎn)換為模塊

將宏保存為模塊,可以加速宏操作的執(zhí)行速度。要將宏轉(zhuǎn)化為模塊,只要在數(shù)據(jù)庫(kù)窗口中選中這個(gè)宏,然后選擇“文件”菜單下的“另存為”命令,打開圖8-1所示的“另存為”對(duì)話框,然后選擇將它保存為模塊。單擊“確定”按鈕打開如圖8-2所示的對(duì)話框,單擊“轉(zhuǎn)換”按鈕就可以將這個(gè)宏保存為同名的“模塊”了。在數(shù)據(jù)庫(kù)窗口中選擇“模塊”選項(xiàng)卡,就可以看到一個(gè)名為“被轉(zhuǎn)換的宏-打開窗體宏”的模塊。

換”按鈕就可以將這個(gè)宏保存為同名的“模塊”了。在數(shù)據(jù)庫(kù)窗口中選擇“模塊”選項(xiàng)卡,就可以看到一個(gè)名為“被轉(zhuǎn)換的宏-打開窗體宏”的模塊。

圖8-1保存宏圖8-2轉(zhuǎn)換宏8.2.2創(chuàng)建與窗體和報(bào)表相關(guān)的類模塊

類模塊是包含新對(duì)象的定義的模塊。當(dāng)創(chuàng)建類的新實(shí)例時(shí),即創(chuàng)建新對(duì)象。模塊中定義的過(guò)程成為該對(duì)象的屬性和方法。創(chuàng)建類模塊的步驟如下:

(1)選擇“窗體”窗口,單擊選擇任一窗體,如“切換面板”窗體,單擊“設(shè)計(jì)”按鈕,進(jìn)入窗體設(shè)計(jì)視圖。

(2)用鼠標(biāo)右鍵單擊窗體,選擇“事件生成器\代碼生成器\確定”,進(jìn)入如圖8-3所示的模塊代碼編輯窗口。圖8-3模塊代碼編輯窗口

(3)在其中定義如下Function函數(shù):

PrivateFunctionshowmsg()AsVariant

MsgBox"這是切換面板窗體的一個(gè)函數(shù)"

EndFunction

PrivateSub主體_Click()

Dimms

ms=showmsg()

EndSub

(4)關(guān)閉代碼設(shè)計(jì)窗體,保存窗體設(shè)計(jì)。

(5)運(yùn)行窗體“切換面板”,單擊窗體將出現(xiàn)“這是切換面板窗體的一個(gè)函數(shù)”消息。8.2.3創(chuàng)建與窗體和報(bào)表不相關(guān)的類模塊

創(chuàng)建與窗體和報(bào)表不相關(guān)的類模塊步驟如下:

(1)打開數(shù)據(jù)庫(kù)。

(2)依次選擇“插入\類模塊”,出現(xiàn)如圖8-4所示的類模塊代碼窗口。

(3)在其中定義如下Function函數(shù):

PrivateFunctionShowMsg()AsVariant

MsgBox"這是一個(gè)獨(dú)立的類模塊"

EndFunction

(4)單擊??按鈕,將類模塊保存為“m1”。接下來(lái)用戶就可以在窗體中實(shí)例化該模塊的對(duì)象,并應(yīng)用該對(duì)象的ShowMsg()方法,如:

DimLsasm1

Ls.ShowMsg()圖8-4類模塊代碼窗口8.2.4創(chuàng)建標(biāo)準(zhǔn)模塊

在標(biāo)準(zhǔn)模塊中,可以放置希望供整個(gè)數(shù)據(jù)庫(kù)的其他過(guò)程使用的Sub和Function過(guò)程。創(chuàng)建標(biāo)準(zhǔn)模塊的步驟如下:

(1)選擇“模塊”窗口。

(2)依次選擇菜單“插入\模塊”,進(jìn)入如圖8-5所示的模塊代碼編輯窗口。圖8-5標(biāo)準(zhǔn)模塊的模塊代碼編輯窗口

(3)在窗口中輸入Function函數(shù):

FunctionShowMessage()AsVariant

MsgBox"這是一個(gè)標(biāo)準(zhǔn)模塊的Function過(guò)程"

EndFunction

(4)單擊??按鈕,將模塊保存為“StandMd1”。

(5)在數(shù)據(jù)庫(kù)的任一過(guò)程中,都可以通過(guò)使用StandMd1.ShowMessage(?)調(diào)用該Function函數(shù)。

8.3過(guò)程

8.3.1Sub過(guò)程

使用Sub語(yǔ)句可以聲明新的子過(guò)程、它所接收的參數(shù)以及子過(guò)程的代碼。聲明格式如下:

Sub子過(guò)程名(參數(shù)列表)

子過(guò)程代碼

EndSub例如:

SubSubComputeArea(LengthAsDouble,TheWidthAsDouble) '計(jì)算矩形面積的過(guò)程

DimAreaAsDouble '聲明局部變量

IfLength=0OrTheWidth=0Then v如果有一個(gè)參數(shù)等于0

ExitSub '就立即退出子過(guò)程

EndIf

Area=Length*TheWidth '計(jì)算矩形的面積

Debug.PrintArea '將面積顯示在調(diào)試窗口

EndSub8.3.2Function函數(shù)

使用Function語(yǔ)句可以聲明新函數(shù)、新函數(shù)接收的參數(shù)、返回的變量和執(zhí)行函數(shù)過(guò)程的代碼。聲明過(guò)程如下:

Function函數(shù)名(參數(shù)列表)As數(shù)據(jù)類型

函數(shù)代碼

EndFunction

例如:

FunctionFunComputeArea(LengthAsDouble,TheWidthAsDouble)AsDouble

'計(jì)算矩形面積的過(guò)程

IfLength=0OrTheWidth=0Then'如果有一個(gè)參數(shù)等于0

ExitFunction '就立即退出子過(guò)程

EndIf

FunComputeArea=Length*TheWidth '計(jì)算矩形的面積

EndSub

注意:Function函數(shù)與Sub過(guò)程的相似之處是:它們都是一個(gè)可以獲取參數(shù),執(zhí)行一系列語(yǔ)句,以及改變其參數(shù)的值的獨(dú)立過(guò)程。而帶返回值的Sub過(guò)程不能用于表達(dá)式。8.3.3調(diào)用過(guò)程

調(diào)用Sub過(guò)程的格式如下:

[Call]Sub過(guò)程名[參數(shù)列表]

調(diào)用一個(gè)Sub過(guò)程時(shí),并不一定要使用Call關(guān)鍵字。如果使用Call關(guān)鍵字來(lái)調(diào)用一個(gè)需要參數(shù)的過(guò)程,參數(shù)列表就必須要加上括號(hào)。如果省略了Call關(guān)鍵字,那么也必須要省略參數(shù)列表外面的括號(hào)。例如,調(diào)用8.3.1中的SubComputeArea過(guò)程可以使用如下的語(yǔ)句:

SubComputeArea10,20

調(diào)用Function函數(shù)的格式如下:

函數(shù)名參數(shù)列表

如果不在意函數(shù)的返回值,參數(shù)列表可以省略括號(hào)。

例如,調(diào)用8.3.2中的FunComputeArea函數(shù)可以使用如下的語(yǔ)句:

Diml,w,areaasdouble

Ares=FunComputeArea10,20 8.4VBA編程環(huán)境

8.4.1進(jìn)入VBA編程環(huán)境

在Access中,通過(guò)宏或者用戶界面可以完成許多任務(wù)。而在數(shù)據(jù)庫(kù)程序中,要完成任務(wù)就必須通過(guò)編程,這時(shí)候可以通過(guò)VisualBasicforApplication(以下簡(jiǎn)稱VBA)來(lái)創(chuàng)建應(yīng)用程序完成任務(wù)。

可以通過(guò)依次選擇菜單“工具\(yùn)宏\VisualBasic編輯器”進(jìn)入如圖8-6所示的VBA開發(fā)環(huán)境。工程資源管理器

對(duì)象框

過(guò)程框

模塊屬性

模塊代碼

圖8-6VBA開發(fā)環(huán)境8.4.2VBA窗口介紹

VBA開發(fā)環(huán)境分為工程資源管理器、對(duì)象框、過(guò)程框、模塊代碼和模塊屬性五個(gè)部分。工程資源管理器用來(lái)顯示這個(gè)數(shù)據(jù)庫(kù)中所有的“模塊”;對(duì)象框說(shuō)明當(dāng)前模塊所屬對(duì)象;過(guò)程框說(shuō)明當(dāng)前模塊可由多個(gè)過(guò)程組成,當(dāng)選擇一個(gè)過(guò)程時(shí),過(guò)程定義將出現(xiàn)在代碼窗口中;模塊代碼窗口用來(lái)輸入“模塊”內(nèi)部的程序代碼,當(dāng)用鼠標(biāo)單擊這個(gè)窗口內(nèi)的一個(gè)模塊選項(xiàng)時(shí),就會(huì)在模塊代碼窗口顯示出這個(gè)模塊的VBA程序代碼;模塊屬性窗口可以顯示當(dāng)前選定的模塊所具有的各種屬性。 8.5VBA程序設(shè)計(jì)基礎(chǔ)

8.5.1數(shù)據(jù)類型

VBA提供了對(duì)多種數(shù)據(jù)類型的支持,不僅包括一般程序設(shè)計(jì)語(yǔ)言所支持的各種基本數(shù)據(jù)類型,還包括面向?qū)ο蟪绦蛟O(shè)計(jì)所必需的數(shù)據(jù)類型。VBA中常用數(shù)據(jù)類型如表8-1所示。表8-1VBA中常用數(shù)據(jù)類型

8.5.2常量、變量

1.常量

編寫VBA程序時(shí),代碼中可能包含經(jīng)常出現(xiàn)的常數(shù)值,如時(shí)間等,在這種情況下,可以將數(shù)值定義為常量。

Access中支持3種類型的常量:符號(hào)常量、固有常量和系統(tǒng)定義常量。

(1)符號(hào)常量。符號(hào)常量可以用Const語(yǔ)句創(chuàng)建,并且可在模塊中使用。語(yǔ)法格式為

[Public|Private]Const常量名[Astype]=表達(dá)式

例如:

PublicConstPIAsDouble=3.14159

(2)固有常量。固有常量是Access2003或引用對(duì)象庫(kù)的一部分,由Access定義。Access中主要有操作常量、DAO常量、關(guān)鍵字常量、事件過(guò)程常量、VBA常量等幾種類型的固有常量。要想查看對(duì)象庫(kù)中的固有常量,可在VBA代碼窗口中單擊?按鈕,打開如圖8-7所示的“對(duì)象瀏覽器”,查看對(duì)象庫(kù)中的固有常量列表。

(3)系統(tǒng)定義常量。系統(tǒng)定義常量有True、False和Null。圖8-7瀏覽對(duì)象庫(kù)中的固有常量

2.變量

像大多數(shù)編程語(yǔ)言那樣,VBA使用變量來(lái)存儲(chǔ)程序運(yùn)行期間的數(shù)據(jù)。

(1)聲明變量。任一個(gè)變量都必須在其使用的過(guò)程中事先聲明。每一變量在其范圍內(nèi)部都有唯一標(biāo)識(shí)符。變量的數(shù)據(jù)類型可以指定,也可以不指定,若不指定變量的數(shù)據(jù)類型,則該變量按缺省設(shè)置為Variant類型。

聲明一個(gè)變量的語(yǔ)法格式如下:

范圍變量名[As數(shù)據(jù)類型]

(2)變量的作用范圍。一個(gè)變量在劃定范圍時(shí)被看做是過(guò)程級(jí)(局部)變量還是模塊級(jí)變量,取決于聲明該變量時(shí)采用的方式。用戶不能在過(guò)程中聲明公用變量,而在模塊中聲明的變量又分為私有模塊變量和公共模塊變量。

①Dim語(yǔ)句。在模塊級(jí)別中用Dim聲明的變量,對(duì)該模塊中的所有過(guò)程都是可用的。在過(guò)程級(jí)別中聲明的變量,只在過(guò)程內(nèi)是可用的。

例如:

DimNumberOfEmployeesAsInteger②Static語(yǔ)句。Static語(yǔ)句在過(guò)程級(jí)別中使用,模塊的代碼開始運(yùn)行后,使用Static語(yǔ)句聲明的變量會(huì)一直保持其值,直至該模塊復(fù)位或重新啟動(dòng)。

例如:

StaticAccumulateAsLong

③Private語(yǔ)句。Private語(yǔ)句在模塊級(jí)別中使用,其聲明的變量只能在包含其聲明的模塊中使用。

例如:

PrivateMyAgeAsInteger④Public語(yǔ)句。Public語(yǔ)句在模塊級(jí)別中使用,聲明公共類型的模塊變量。如果一個(gè)變量被聲明為公共模塊變量,那么它可以被工程中的所有過(guò)程調(diào)用。

例如:

PublicdxAsDouble

(3)變量的命名原則。VBA的代碼中,變量的命名有如下規(guī)定:

①最長(zhǎng)只能有255個(gè)字符。

②必須用字母開頭。

③可以包含字母、數(shù)字或下劃線字符。

④不能包含標(biāo)點(diǎn)符號(hào)或空格。

⑤不能與VBA關(guān)鍵字、函數(shù)過(guò)程、語(yǔ)句及方法同名。8.5.3運(yùn)算符和表達(dá)式

1.運(yùn)算符

(1)算術(shù)運(yùn)算符。算術(shù)運(yùn)算符是常用的運(yùn)算符,用來(lái)執(zhí)行簡(jiǎn)單的算術(shù)運(yùn)算,表8-2列出了這些算術(shù)運(yùn)算符。

(2)邏輯運(yùn)算符。邏輯運(yùn)算符用于實(shí)現(xiàn)邏輯運(yùn)算,表8-3列出了這些邏輯運(yùn)算符。

表8-2算?術(shù)?運(yùn)?算?符

表8-3邏?輯?運(yùn)?算?符

(3)關(guān)系運(yùn)算符。關(guān)系運(yùn)算符也稱比較運(yùn)算符,用來(lái)對(duì)兩個(gè)表達(dá)式的值進(jìn)行比較,表8-4列出了這些關(guān)系運(yùn)算符。表8-4關(guān)?系?運(yùn)?算?符

(4)連接運(yùn)算符。連接運(yùn)算符主要用于字符串運(yùn)算,通過(guò)連接運(yùn)算可以將兩個(gè)字符串連接起來(lái)生成一個(gè)新的字符串。連接運(yùn)算符包括“&”和“+”。在VBA中,“+”既可以用作加法運(yùn)算符,還可以用作字符串連接符。當(dāng)運(yùn)算符兩側(cè)的表達(dá)式都為字符串時(shí),“&”運(yùn)算符和“+”運(yùn)算符都可實(shí)現(xiàn)字符串的連接。

例如:"abc"&"def"的結(jié)果為"abcdef";"abc"+"def"的結(jié)果也為"abcdef"。

(5)運(yùn)算符優(yōu)先順序。在一個(gè)表達(dá)式中進(jìn)行若干操作時(shí),每一部分都會(huì)按預(yù)先確定的順序進(jìn)行計(jì)算求解,稱這個(gè)順序?yàn)檫\(yùn)算符的優(yōu)先順序。

在表達(dá)式中,當(dāng)運(yùn)算符不止一種時(shí),要先處理算術(shù)運(yùn)算符,接著處理比較運(yùn)算符,然后再處理邏輯運(yùn)算符。所有比較運(yùn)算符的優(yōu)先順序都相同;也就是說(shuō),要按它們出現(xiàn)的順序從左到右進(jìn)行處理。而算術(shù)運(yùn)算符和邏輯運(yùn)算符則必須按表8-5所列的優(yōu)先順序進(jìn)行處理(優(yōu)先級(jí)為1表示最先處理)。

表8-5運(yùn)算符優(yōu)先順序

當(dāng)乘法和除法同時(shí)出現(xiàn)在表達(dá)式中時(shí),每個(gè)運(yùn)算都按照從左到右的順序依次進(jìn)行計(jì)算??梢杂美ㄌ?hào)改變優(yōu)先順序,強(qiáng)令表達(dá)式的某些部分優(yōu)先運(yùn)行。括號(hào)內(nèi)的運(yùn)算總是優(yōu)先于括號(hào)外的運(yùn)算。但是,在括號(hào)之內(nèi),運(yùn)算符的優(yōu)先順序不變。

字符串連接運(yùn)算符“&”不是算術(shù)運(yùn)算符,但是,就其優(yōu)先順序而言,它在所有算術(shù)運(yùn)算符之后,而在所有比較運(yùn)算符之前。

2.表達(dá)式

表達(dá)式是關(guān)鍵字、運(yùn)算符、變量、字符串常數(shù)、數(shù)字或?qū)ο蟮慕M合,可以使用表達(dá)式運(yùn)算結(jié)果作為很多屬性和操作參數(shù)的值。表達(dá)式的書寫遵循如下原則:

(1)乘號(hào)不能省略。

(2)括號(hào)必須成對(duì)出現(xiàn),均使用小括號(hào),可以嵌套。

(3)表達(dá)式從左到右順序書寫。8.5.4VBA程序中的語(yǔ)句

1.順序結(jié)構(gòu)語(yǔ)句

簡(jiǎn)單的程序大多采用順序結(jié)構(gòu),整個(gè)程序按書寫順序依次執(zhí)行。

(1)賦值語(yǔ)句。賦值語(yǔ)句是程序中最基本的語(yǔ)句,其主要作用是把一個(gè)表達(dá)式的值賦給一個(gè)變量或控件的屬性。賦值語(yǔ)句的一般形式為

變量名=表達(dá)式或?qū)ο?屬性名=表達(dá)式

例如:

Text1.Text="Hello" '把字符串"Hello"賦給控件Text1的Text屬性

(2)注釋語(yǔ)句。為了提高程序的可讀性,VBA程序通常要加上必要的注釋,在VBA中注釋可以用單引號(hào)“'”來(lái)說(shuō)明,例如:

Myname="李明"'為變量Myname賦值

2.分支結(jié)構(gòu)語(yǔ)句

VBA提供了如下幾種分支語(yǔ)句:

(1)?If語(yǔ)句。其格式為

If<條件表達(dá)式1>Then

<語(yǔ)句塊1>

[ElseIf<條件表達(dá)式2>Then

<語(yǔ)句塊2>]

[ElseIf<條件表達(dá)式3>Then

<語(yǔ)句塊3>]

[Else

<語(yǔ)句塊4>]

EndIf

If和ElseIf測(cè)試指定的條件,如果條件為真,則執(zhí)行Then后面的語(yǔ)句。在塊形式中,If語(yǔ)句必須是第一行語(yǔ)句。其中的Else、ElseIf和EndIf部分可以只在之前加上行號(hào)或行標(biāo)簽。If塊必須以一個(gè)EndIf語(yǔ)句結(jié)束。

要確定某個(gè)語(yǔ)句是否為一個(gè)If塊,可檢查Then關(guān)鍵字之后是什么。如果在Then同一行之后還有其他非注釋的內(nèi)容,則此語(yǔ)句就是單行形式的If語(yǔ)句。

Else和ElseIf子句都是可選的。在If塊中,可以放置任意多個(gè)ElseIf子句,但都必須在Else子句之前。If塊也可以是嵌套的。例如:

DimNumber,Digits

Number=53 '設(shè)置變量初始值

IfNumber<10Then

Digits=1

ElseIfNumber<100Then '若判斷結(jié)果為True,則完成下一行語(yǔ)句

Digits=2

Else

Digits=3

EndIf

(2)?Selsect語(yǔ)句。其格式為

SelectCase測(cè)試表達(dá)式

[Case<表達(dá)式1>

[<語(yǔ)句塊1>]]

[Case<表達(dá)式2>

[<語(yǔ)句塊2>]]

[Case<表達(dá)式n>

[<語(yǔ)句塊n>]]

[CaseElse

[<語(yǔ)句塊n+1>]]

EndSelect…如果測(cè)試表達(dá)式匹配某個(gè)Case表達(dá)式,則在Case子句之后,直到下一個(gè)Case子句間的語(yǔ)句塊會(huì)被執(zhí)行;如果是最后一個(gè)子句,則會(huì)執(zhí)行到EndSelect,然后控制權(quán)會(huì)轉(zhuǎn)移到EndSelect之后的語(yǔ)句。如果測(cè)試表達(dá)式匹配一個(gè)以上的Case子句中的表達(dá)式,則只有第一個(gè)匹配后面的語(yǔ)句會(huì)被執(zhí)行。

當(dāng)測(cè)試表達(dá)式值和所有的Case子句中的表達(dá)式都不匹配時(shí),則會(huì)執(zhí)行CaseElse的語(yǔ)句塊。CaseElse雖然不是必要的,但是在SelectCase區(qū)塊中,最好還是加上CaseElse語(yǔ)句來(lái)處理不可預(yù)見(jiàn)的測(cè)試表達(dá)式值。如果沒(méi)有Case表達(dá)式匹配測(cè)試表達(dá)式值,而且也沒(méi)有CaseElse語(yǔ)句,則程序會(huì)從EndSelect之后的語(yǔ)句繼續(xù)執(zhí)行。例如:

DimNumber

Number=8 ‘設(shè)置變量初值

SelectCaseNumber ’判斷Number的值

Case1To5 'Number的值在1~5之間,包含1和5

Debug.Print"Between1and5"

'下一個(gè)Case子句是本示例中唯一判斷值為True的子句

Case6,7,8 'Number的值在6~8之間

Debug.Print"Between6and8"

Case9To10 'Number的值為9或10

Debug.Print"Greaterthan8"

CaseElse '其他數(shù)值

Debug.Print"Notbetween1and10"

EndSelect

3.循環(huán)結(jié)構(gòu)語(yǔ)句

VBA提供了如下幾種循環(huán)語(yǔ)句:

(1)?DoWhile…Loop語(yǔ)句。其格式為

Do[While循環(huán)條件]

[語(yǔ)句塊1]

[ExitDo]

[語(yǔ)句塊2]

Loop

當(dāng)循環(huán)條件成立時(shí),將重復(fù)執(zhí)行語(yǔ)句塊1和語(yǔ)句塊2,直到循環(huán)條件不成立或遇到ExitDo跳出循環(huán)。在DoWhile…Loop中可以在任何位置放置任意個(gè)數(shù)的ExitDo語(yǔ)句,隨時(shí)跳出循環(huán)。ExitDo通常用于條件判斷之后,例如If…Then,在這種情況下,ExitDo語(yǔ)句將結(jié)束循環(huán),進(jìn)而運(yùn)行Loop命令之后的語(yǔ)句。例如:

DimCounter,Sums

Counter=1

Sums=0 '設(shè)置變量初始值

DoWhileCounter<=100

Sums=Sums+Counter '求和

Counter=Counter+1 '計(jì)數(shù)器加一

Loop

(2)?While…Wend語(yǔ)句。其格式為

While條件

[語(yǔ)句]

Wend

如果條件為True,則所有的語(yǔ)句都會(huì)執(zhí)行,一直執(zhí)行到Wend語(yǔ)句。然后再回到While語(yǔ)句,并再一次檢查條件,如果條件還是為True,則重復(fù)執(zhí)行;如果條件不為True,則程序會(huì)從Wend語(yǔ)句之后的語(yǔ)句繼續(xù)執(zhí)行。

While…Wend循環(huán)也可以是多層的嵌套結(jié)構(gòu)。每個(gè)Wend匹配最近的While語(yǔ)句。例如:

DimCounter

Counter=0 '設(shè)置變量初值

WhileCounter<20'測(cè)試計(jì)數(shù)器的值

Counter=Counter+1'將計(jì)數(shù)器的值加一

Wend '當(dāng)Counter>19時(shí)循環(huán)終止

Debug.PrintCounter'在“立即”窗口中顯示數(shù)字20

(3)?For…Next語(yǔ)句。其格式為

For變量=初始值To終止值[Step步長(zhǎng)]

[語(yǔ)句塊1]

[ExitFor]

[語(yǔ)句塊2]

Next[變量]當(dāng)所有循環(huán)中的語(yǔ)句都執(zhí)行后,步長(zhǎng)的值會(huì)加到變量中

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論