Access开发培训
网站公告
·Access专家课堂QQ群号:151711184    ·Access快速开发平台下载地址及教程    ·欢迎加入Access专家课堂微信群!    ·如何快速搜索本站文章|示例|资料    
您的位置: 首页 > 技术文章 > Access数据库-模块/函数/VBA

sub过程与function函数的区别

时 间:2015-08-31 08:31:15
作 者:杨雪   ID:42182  城市:南京
摘 要:很多人对sub过程与function函数的区别很迷糊,现举例讲解:
正 文:

function是函数,sub是子程序,都可以传递参数,但函数有返回值,子程序没有

function   可以用自身名字返回一个值,sub   需定义别的变量,用传址方式传回值。  

      Sub   过程与Function   过程的区别:      

  1   Sub   过程定义时无需定义返回值类型,而Function   过程一般需要用“As   数据类型”   定义函数返回值类型。      

  2   Sub   过程中没有对过程名赋值的语句,而Function   过程中一定有对函数名赋值的语句。      

  3   调用过程:调用   Sub   过程与   Function   过程不同。调用   Sub   过程的是一个独立的语句,而调用函数过程只是表达式的一部分。Sub   过程还有一点与函数不一样,它不会用名字返回一个值。但是,与   Function过程一样,Sub   过程也可以修改传递给它们的任何变量的值。      

  4   调用   Sub   过程有两种方法:      

  以下两个语句都调用了名为   MyProc      Sub   过程。      

  Call     MyProc   (FirstArgument,   SecondArgument)      

  MyProc     FirstArgument,   SecondArgument      

  注意当使用   Call   语法时,参数必须在括号内。若省略   Call   关键字,则也必须省略参数两边的括号。


VBA中,子过程与函数过程只有一处区别(要学好VBA一定要记住),区别就是:子过程没有返回值,函数过程有返回值。

子过程用于编写一些代码的集合,函数过程用于建立函数。我举个例吧。

例如,我要做多处要做如下事件,我只要编写一个子过程,在其它事件下,我只要把子过程的名称写下就行了。

Private Sub ABC(A As Integer, B As Integer, C As Integer)

    A = 1

    B = 1

    C = 1

End Sub


Private Sub Command1_Click()

ABC '按扭一就调用了该子过程了,而不用再写子过程的代码。

End Sub


Private Sub Command2_Click()

ABC '按扭二就调用了该子过程了,而不用再写子过程的代码。

End Sub


Private Sub Command3_Click()

ABC '按扭三就调用了该子过程了,而不用再写子过程的代码。

End Sub


函数例子:

如我要多处运用C=A+B这个算法,我可以编写这个函数:

Private Function C (A As Integer, B As Integer) As Integer

C = A + B

End Function


Private Sub Command1_Click()

Text1.Text = C(5, 3) '这里就运用了函数C来计算5+3了。

End Sub


Private Sub Command2_Click()

Text1.Text = C(4, 2) '这里就运用了函数C来计算4+2了。

End Sub



Access软件网QQ交流群 (群号:54525238)       Access源码网店

常见问答:

技术分类:

相关资源:

专栏作家

关于我们 | 服务条款 | 在线投稿 | 友情链接 | 网站统计 | 网站帮助