文档详情

Access过程调用和参数传递.ppt

发布:2017-04-21约2.17千字共34页下载文档
文本预览下载声明
第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数据库的模
显示全部
相似文档