sub过程与function函数的区别-杨雪
Access软件网QQ交流学习群(群号码198465573),欢迎您的加入!
首页 >技术文章> Access数据库-模块/函数/VBA


sub过程与function函数的区别

发表时间:2015/8/31 8:31:15 评论(2) 浏览(10219)  评论 | 加入收藏 | 复制
   
摘 要:很多人对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群(群号:198465573)
 
 相关文章
Private Sub Form_Load()是什么意思?  【zsp88  2009/9/16】
Public与Private的区别,Sub与Private Sub...  【竹笛  2010/9/6】
函数Function与Sub过程的区别  【杜超-2号  2013/4/7】
常见问答
技术分类
相关资源
文章搜索
关于作者

杨雪

文章分类

文章存档

友情链接