Access数据库实用教程 (8).ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
8.5.2 过程的创建和调 过程是一段可以实现某个具体功能的代码 与函数不同,过程没有返回值 既可以在类模块中,也可以在标准模块中创建过程 Public Sub swap(x As Integer, y As Integer) Dim t As Integer t = x: x = y: y = t End Sub 过程的定义形式如下: [Public|Private][Static] Sub 过程名(变量名1As 类型,变量名2As 类型,…) 局部变量或常数定义 <语句块> [Exit Sub] <语句块> End Sub 说明: (1)过程名的命名规则与变量名等其他标识符的命名规则相同。 (2)过程名后括号内的变量也叫形式参数。如果过程有形式参数,则要在定义过程时指明形参的名称和类型;如果省略类型,则形参的默认类型为Varient型。 (3)语句[Exit Sub]的作用是中途提前退出过程。 创建过程的方法是: 打开模块,选择菜单“插入”→“过程”命令,在“添加过程”对话框中输入过程名。 调用过程有以下两种格式。 格式1:call 过程名([实参列表]) 格式2:过程名 [实参列表] 这里过程名后的参数叫实际参数。 调用过程时应注意实参应与形参的顺序、类型和个数保持一致。 例8-10创建一个窗体,在其中的某个按钮的单击事件中用InputBox函数输入两个整数,然后调用过程swap将它们的值互换。 按钮的单击事件如下: Private Sub Command0_Click() Dim x As Integer, y As Integer x = InputBox(x=) y = InputBox(y=) Debug.Print x, y swap x, y 或 swap(x,y) Debug.Print x, y End Sub 8.5.3 函数的创建和调用 函数有返回值。VBA的函数包含内置函数和用户自定义函数两种。 函数的定义形式如下: [Public|Private][Static] Function 过程名(变量名1 As 类型,变量名2 As 类型,…)As 类型 局部变量或常数定义 <语句块> 函数名=表达式 [Exit Function] <语句块> 函数名=表达式 End Function 例8-11 在前面创建的标准模块“模块1”内创建函数jc,函数的功能是返回一个数的阶乘。另外创建一个过程test,在test过程内调用函数jc。 函数jc的定义如下: Public Function jc(n As Integer) As Long 函数的返回值为Long型 Dim i As Integer, s As Long s = 1 For i = 1 To n s = s * i Next i jc = s 给函数赋值 End Function 过程test的定义如下: Public Sub test() Dim n As Integer, k As Long n = InputBox(n=) Debug.Print jc(n) k = jc(3) + jc(5) ‘调用函数jc Debug.Print 3!+5!=; k End Sub 8.5.4 过程调用中的参数传递 在调用过程和函数的过程中,一般会发生数据的传递,即将主调过程中的实参传给被调过程的形参。 在参数传递过程中,可以有传址和传值两种形式。 1.传址 如果在定义过程或函数时,形参的变量名前不加任何前缀,即为传址。 传递过程是:调用过程时,将实参的地址传给形参。因此如果在被调过程或函数中修改了形参的值,则主调过程或函数中实参的值也跟着变化。 前面示例中的过程和函数均为传址形式。 2.传值 如果在定义过程或函数时,形参的变量名前加ByVal前缀,即为传值。这时主调过程将实参的值复制后传给被调过程的形参,因此如果在被调过程或函数中修改了形参的值,则主调过程或函数中实参的值不会跟着变化。 Public Sub swap(x As Integer, y As Integer) Dim t As Integer t = x: x = y: y = t End Sub Public Sub swap1(ByVal x As Integer, ByVal y

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档