73 模块与VBA编程基础-VBA--二级access资料(10).pptVIP

  • 9
  • 0
  • 约 13页
  • 2016-12-05 发布于重庆
  • 举报

73 模块与VBA编程基础-VBA--二级access资料(10).ppt

73 模块与VBA编程基础-VBA--二级access资料(10)

子过程的定义与调用 [Pubic|Private][Static] Sub 子过程名([形参]) [子过程语句] [Exit Sub] [子过程语句] End Sub 过程调用: Call 子过程([实参]) 子过程名 [实参] 在过程中定义的参数,称为形参 使用Public关键字,则所有模块的过程都可以调用它 使用Private关键字,这个函数只适用于同一个模块的其他过程 定义输出绝对值的子过程 调用子过程 Sub aabs(x As Integer) If x = 0 Then Debug.Print x Else Debug.Print x * -1 End If End Sub Sub t() Debug.Print ******* Call aabs(5) Call aabs(-3) Debug.Print --------- aabs 5 aabs -3 Debug.Print ******* End Sub 函数过程的定义和调用 [public|private][static] function 函数过程名([形参]) [as 类型] [函数过程语句] [函数过程名=表达式] [exit function] [函数过程语句] [函数过程名=表达式] End function 调用: 函数过程名([实参]) 赋值:变量=函数过程名([实参]) 使用Public关键字,则所有模块的所有过程都可以调用它 使用Private关键字,这个函数只适用于同一个模块的其他过程 求圆面积的函数过程 S的值为area(5)的返回值 Function Area(R!) As Single if R0 then Msgbox “圆的半径必须为正数值”,vbcritical,”警告” Area=0 ’函数返回值 Exit Function End if Area=3.14*R*R ’函数返回值 End Function Sub proc1 s=Area(5) End Sub 不能使用call 调用Area过程, 即Call Area(5) 是错误的 形参:过程定义的参数,无实际值 实参:调用含参数过程时,主调过程的调用式必须提供相应的实参(实际参数),有实际值,可以是常量、变量、表达式 调用含参数的函数时,存在实参向形参传递的过程 Function sum(x as integer,y as integer) Sum=x+y End Function Sub pr() Dim a%,b% A=5:b=6 Debug.Print Sum(5,6) Debug.Print Sum(a,b) End Sub 形参 实参 实参 形参完整的定义格式: [Optional][ByVal|ByRef][ParamArray]形参名称[()][As Type][=v] 函数定义: SUB SUM(x As Integer,y%)······两个整型形参,参数按址调用 SUB PA(ByVal f as Integer)·······一个整型形参,参数按值调用 SUB PB(ByRef f as Integer)·······一个整型形参,参数按址调用 形参名称是必需的 形参的数据类型 设置该参数是按值或者是按地址传递,ByVal按值,ByRef按地址;缺省ByRef 按值调用,实参单向传递给形参,输出结果:5 缺省是按址调用,实参双向传递给形参处理,实参发生改变,输出结果:7 Private Sub test_Click() Dim J As Integer J = 5 Call GetData(J) MsgBox J End Sub Private Sub GetData(ByVal f As Integer) f = f +2 End Private Sub test_Click() Dim J As Integer J = 5 Call GetData(J) MsgB

文档评论(0)

1亿VIP精品文档

相关文档