|
Option Compare Database
Option Explicit
Private Sub Command6_Click()
reCalMyResult
End Sub
Private Sub Text0_Change()
reCalMyResult
End Sub
Private Sub Text2_Change()
reCalMyResult
End Sub
Private Sub Text4_Change()
reCalMyResult
End Sub
Private Sub reCalMyResult()
Debug.Print Me.Text0.Value + Me.Text2.Value + Me.Text4.Value
End Sub
以下摘自 Microsoft Access 2003 Help
调用 Sub 以及 Function 过程
从其它过程调用一个 Sub 过程时,必须键入过程名称以及任何需要的参数值。而 Call 语句并不需要,不过若使用它,则任何参数必须以括号括起来。
可以使用 Sub 过程去组织其它的过程,因此可以较容易了解并调试它们。在下面的示例中,Sub 过程 Main 传递参数值 56 去调用 Sub 过程 MultiBeep。运行 MultiBeep 后,控件返回 Main,然后 Main 调用 Sub 过程 Message。Message 显示一个信息框;当按“确定”键时,控件会返回 Main,接着 Main 退出执行。
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 过程的两种不同方法。当第二次调用 HouseCalc 时,因为使用 Call 语句所以需要利用括号将参数括起来。
Sub Main()
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 过程时使用括号
为了使用函数的返回值,必须指定函数给变量,并且用括号将参数封闭起来;如下示例所示:
Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3")
如果不在意函数的返回值,可以用调用 Sub 过程的方式来调用函数。如下面示例所示,可以省略括号,列出参数并且不要将函数指定给变量:
MsgBox "Task Completed!", 0, "Task Box"
小心 在上述例子中若包含括号,则语句会导致一个语法错误。
传递命名参数
Sub 或 Function 过程中的语句可以利用命名参数来传递值给被调用的过程。可以将命名参数以任何顺串行出。命名参数的组成是由参数名称紧接着冒号(:=)以及等号,然后指定一个值给参数。
下面的示例使用命名参数来调用不具返回值的 MsgBox 函数。
MsgBox Title:="Task Box", Prompt:="Task Completed!"
下面的示例使用命名参数调用 MsgBox 函数。将返回值指定给变量 answer3。
answer3 = MsgBox(Title:="Question 3", _Prompt:="Are you happy with your salary?", Buttons:=4)
写 Sub 过程
Sub 过程是一系列由 Sub 和 End Sub 语句所包含起来的 Visual Basic 语句,它们会执行动作却不能返回一个值。Sub 过程可有参数,例如常数、变量、或是表达式等来调用它。如果一个 Sub 过程没有参数,则它的 Sub 语句必须包含一个空的圆括号。
下面 Sub 过程中,每一行都有注释来解释它的作用:
'声明过程命名为 GetInfo
'该 Sub 过程没有参数
Sub GetInfo()
'声明字符串变量命名为 answer
Dim answer As String
'指定 InputBox 函数的返回值给 answer
answer = InputBox(Prompt:="What is your name?")
'条件 If...Then...Else 语句
If answer = Empty Then
'调用 MsgBox 函数
MsgBox Prompt:="You did not enter a name."
Else
'MsgBox 函数与 answer 变量连接。
MsgBox Prompt:="Your name is " & answer
'结束 If...Then...Else 语句
End If
'结束 Sub 过程
End Sub
******************
* 一切皆有可能 *
******************
.
同一贴子不回复第二次
.
QQ群 48866293 / 12035577 / 7440532 / 13666209
http://forum.csdn.net/BList/OtherDatabase .
http://www.accessbbs.cn/bbs/index.php .
http://www.accessoft.com/bbs/index.asp .
http://www.access-programmers.co.uk/forums .
http://www.office-cn.net .
.
http://www.office-cn.net/home/space.php?uid=141646 . |
|