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

VBA编程-调用 Sub 和 Function 过程

时 间:2022-10-20 08:08:59
作 者:福哥(QQ86053924)   ID:1784  城市:成都
摘 要:若要从其他 过程中调用某个 Sub 过程,请键入该过程的名称并包含任何所需的 参数值。 不需要使用 Call 语句,但如果使用了该语句,则必须将任何参数包含在圆括号内。
正 文:

VBA编程-调用 Sub Function 过程

若要从其他 过程中调用某个 Sub 过程,请键入该过程的名称并包含任何所需的 参数值。 不需要使用 Call 语句,但如果使用了该语句,则必须将任何参数包含在圆括号内。

使用  过程来组织其他过程,使其更易于理解和调试。 在下面的示例中,Sub过程Main调用Sub过程MultiBeep,并为其参数传递值56。

当 MultiBeep 运行后,控件返回到 Main,且 Main 调用 Sub 过程 Message。 Message 显示一个消息框,当用户单击“确定”时,控件返回到 Main,且 Main 完成。

VB复制

Sub Main()

 MultiBeep 56

 Message

End Sub


Sub MultiBeep(numbeeps)

 For counter = 1 To numbeeps

 Beep

 Next counter

End Sub


Sub Message()

 MsgBox "Time to take a break!"

End Sub

-------------------------


使用多个参数调用 Sub 过程

下面的示例演示了使用多个参数调用 Sub 过程的两种方法。 第二次调用它时,需要将参数包含在圆括号内,因为使用了 Call 语句。

VB复制


SubMain()

 HouseCalc 99800, 43100 
 Call HouseCalc(380950, 49500) 
End Sub 
 
Sub HouseCalc(price As Single, wage As Single) 
 If 2.5 * wage <= 0.8 * price Then 
 MsgBox "You cannot afford this house." 
 Else 
 MsgBox "This house is affordable." 
 End If 
End Sub

在调用 Function 过程时使用圆括号

若要使用函数的返回值,请将该函数分配给变量并将参数包含在圆括号内,如以下示例所示。

VB复制


Answer3 = MsgBox("Are you happy with your salary?",4,"Question 3")

如果对函数的返回值不感兴趣,则可以按照调用 Sub 过程的同样方式调用函数。 省略圆括号,列出参数,且不要将函数分配给变量,如以下示例所示。

VB复制


MsgBox"Task Completed!",0,"Task Box"

如果您在上述示例中包含圆括号,则该语句将导致语法错误。

传递命名参数

Sub 或 Function 过程中的语句可使用 命名参数将值传递给所调用的过程。 您可以按照任何顺序列出命名参数。 命名参数包含参数的名称后跟一个冒号和一个等号 (:=) 以及分配给该参数的值。

以下示例使用命名参数调用 MsgBox 函数,而不返回任何值。

VB复制


MsgBox Title:="Task Box", Prompt:="Task Completed!"

以下示例使用命名参数调用 MsgBox 函数。 将返回值分配给变量。

VB复制


answer3 = MsgBox(Title:="Question 3", _

Prompt:="Are you happy with your salary?", Buttons:=4) 


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

常见问答:

技术分类:

相关资源:

专栏作家

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