Access过程调用和参数传递.ppt
文本预览下载声明
第15讲 VBA的过程调用与变量作用域:;第15讲 子过程与函数过程;;;Sub 循环()
Dim x As Integer, a As Integer, b As Integer
x = 8
For a = 0 To 1
Do While b 25
b = b + a + x
Loop
Next
Debug.Print b= b
MsgBox b= b
End Sub;第15讲 子过程与函数过程;第13讲 Access数据库的模块设计 ;Sub aa()
Debug.Print Fac(4)
End Sub
__________________________________________
Function Fac(x As Integer) As Long
函数Fac的参数x接受4传递过来的值
Dim i As Integer, m As Long
m = 1
For i = 1 To x
m = m * i
Next
Fac = m 将阶乘m的值赋给Fac, 用来返回计算结果
End Function;第15讲 VBA的过程调用; 在过程中,用Dim 或 Static来声明的局部变量其作用域只限在本过程。两者不同之处在于用Dim语句声明的变量在退出过程时变量的值被清除,而用Static声明的变量其值在退出过程时还保持有效。这样,用Static声明的变量其值就可以一直保留。用Static声明的变量又称为静态变量。在过程中未声明就使用的变量默认为是过程级变量。
在模块的申明区,用Private来声明的局部变量其作用域只限在本模块。是模块级变量,用Public声明的变量其作用域为整个VB应用程序,是全局变量。;;第15讲 VBA的过程调用_形参与实参;按值传递参数:按值传递参数指的是形参与实参占用不同的内存单元,是两个不同的变量。这种传递方法是实参将其值赋给形参,形参的变化不会影响到实参的值。要按值传递,必须在形参前加ByVal关键字。 ;Dim a As Integer
Option Explicit
————————————————————————————
Sub area()
Dim x As Integer, y As Integer, z As Integer
x = 10: y = 10
Call calcu(x, y, z)
Debug.Print x * y = z
End Sub
————————————————————————————
Sub calcu(ByRef a As Integer, b As Integer, c As Integer)
c = a * b
End Sub;Sub first()
Dim x As Integer, y As Integer
x = 10: y = 20
Debug.Print 调用second(x, y)前: x= x y= y
Call second(x, y)
Debug.Print 调用second(x, y)后: x= x y= y
End Sub
————————————————————————————
Sub second(ByVal a As Integer, ByVal b As Integer)
Debug.Print second(x, y)函数中,A,B赋值前: a= a b= b
a = 33: b = 44
Debug.Print second(x, y)函数中,A,B赋值后: a= a b= b
End Sub;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模块设计 ;第13讲 Access数据库的模
显示全部