Access vba中參數(shù)前關(guān)鍵字ByRef和ByVal的詳細解釋
時間:2013-10-18 15:05 來源:office中國 作者:江羽 閱讀:次
在公用過程或是自定義函數(shù)中,我們經(jīng)常會在定義的參數(shù)前,看到關(guān)鍵字 ByRef 或 ByVal ,它們起什么作用呢?它們又有什么區(qū)別呢?我們先看一段代碼。
過程實例代碼:
Sub CallByRef(ByRef Y as Integer ) ‘代碼中Y 及為輸入的參數(shù)
Y = 2
End Sub
當(dāng)我們調(diào)用這個過程時,可以用兩種方式來傳送參數(shù),即:傳址方式(也稱:引用方式)和傳值方式。如果以傳址方式傳送,加入關(guān)鍵字ByRef ;如果以傳值方式傳送,則加上關(guān)鍵字ByVal。
ByRef 表示該參數(shù)按地址傳遞。 ByRef 是 Visual Basic 的缺省選項。直白的說這傳遞方式所傳遞的是參數(shù)的地址,因此當(dāng)兩個變量指向同一個內(nèi)存地址時,其中一個變量改變,別一個變量也會隨之變化。
見如下實例:
'**************************************
'用“傳址”方式傳遞參數(shù)
'**************************************
Private Sub Command0_Click()
Dim X As Integer
X = 1
MsgBox "調(diào)用程序之前X值是:" & X
Call CallByRef(X)
MsgBox "調(diào)用程序之后X值是:" & X
End Sub
'默認方式是傳址方式傳遞參數(shù),可以不加 ByRef 關(guān)鍵字
Sub CallByRef(ByRef Y As Integer)
Y = Text2
End Sub

ByVal 表示該參數(shù)按值傳遞,可選。如果不希望調(diào)用的程序修改原調(diào)用端的變量值,可以加入該關(guān)鍵字,這保證了該變量有自己獨立內(nèi)存區(qū)域或者說空間,而不會受到調(diào)用端變量的影響。只會把傳遞的變量值重新復(fù)制一份給調(diào)用的程序,所以即使在程序內(nèi)變更參數(shù)的值,也不會改變原調(diào)用端的參數(shù)值。
見如下實例:
'**************************************
'用“傳值”方式傳遞參數(shù)
'**************************************
Private Sub Command1_Click()
Dim X As Integer
X = 1
MsgBox "調(diào)用程序之前X值是:" & X
Call CallByVal(X)
MsgBox "調(diào)用程序之后X值是:" & X
End Sub
'以傳值方式傳遞參數(shù),必須加上 ByVal 關(guān)鍵字
Sub CallByVal(ByVal Y As Integer)
Y = Text2
End Sub

-----------------------------------------------------------------------------------------------------------------
(責(zé)任編輯:admin)
頂一下
(3)
100%
踩一下
(0)
0%
相關(guān)內(nèi)容
- ·關(guān)于 Partition 函數(shù)在分組查詢中的應(yīng)
- ·Access算術(shù)運算符的含義和說明表
- ·mid函數(shù)的另類用法
- ·access制作程序運行進度框
- ·Function與Sub的異同(函數(shù)調(diào)用)
- ·Access判斷某個數(shù)值是否為某個數(shù)據(jù)類型
- ·select case后面語句塊的值的四種格式
- ·vba條件語句的兩種表示方法
- ·Access幾種數(shù)據(jù)類型初始化的值
- ·Access vba null與""空字符串的區(qū)別
- ·access vba 數(shù)據(jù)類型表
- ·Access變量的命名規(guī)則
- ·Access中EXIT Sub與End Sub的區(qū)別
- ·Access vba中參數(shù)前關(guān)鍵字ByRef和ByVal
- ·Access列表框快速全選的技巧【最快】
- ·vba函數(shù)的數(shù)據(jù)類型強制轉(zhuǎn)換
最新內(nèi)容
推薦內(nèi)容