532628838
圣骑士
圣骑士
  • 注册日期2011-06-10
  • 发帖数98
  • QQ
  • 火币517枚
  • 粉丝77
  • 关注39
阅读:5167回复:0

[ACCESS]ACCESS函数过程

楼主#
更多 发布于:2011-08-01 17:27
  过程和函数都是能执行特定功能的语句块。函数也是一种过程,不过它是一种特殊的、能够返回值的Function过程。能否返回值,是过程和函数之间最大的区别。  
    在VBA中,提供了大量的内置函数,如字符串函数Mid()、统计函数Max()等,编程时直接引用即可。有时也需要按自己的要求定制函数。例如,计算半径为R的球的体积V:  
    V一4/3*3.1416*R^3 由于球的半径是不固定的,不可能为每一个不同半径的球都写相同的一段代码,因此,应使用函数来实现计算功能。  
    用Function语句可以声明一个新函数、函数所能接受的参数、返回的变量类型以及该函数过程中的代码。声明函数的语法形式如下:
  [PublicIPrivate][Static]Function函数名([<参数>])[As数据类型]
    [<一组语句>]
    [函数名一<表达式>]
    [Exit Function]
    [<一组语句>]
    [函数表一<表达式>]
    End Function
    若对函数使用Public关键字,则所有模块的所有其他过程都可以调用它。用Private关键字可以使这个函数只适用于同一模块中的其他过程。当把一个函数说明为模块对象中的私有函数时,就不能从查询、宏或另一个模块中的函数调用这个函数。
    包含Static关键字时,只要含有这个过程的模块是打开的,则所有在这个过程中无论是显示还是隐含说明的变量值都将被保留。
    在函数名末尾可以使用一个类型声明字符,或使用As子句,来声明被这个函数返回的变量的数据类型。如果没有,则VBA将自动赋给该变量一个最合适的数据类型。对于上面所说的求球的体积的问题,可写为如例6.3所示的函数。
    例
    Public Function V(R As Single)As Single
    ’函数A返回一个单精度型值,接受单精度型参数R
    On Error GoTo Err求解出错
    v=3.1416*R^3*4/3    ’求半径为R的球的体积V
    Exit求解出错:
    Exit Function
    Err求解出错:
    MsgBox Err.Description
    Resume Exit一求解出错
    End Function
    函数的调用非常方便。例如,要计算半径为5的球的体积,使用表达式V(5)即可。如果参数myR是一个单精度型变量,则只需写如下代码:
    Dim myR As Single    
    V(myR)
    函数可以被查询、宏等调用。它对于数据库中的计算控件特别有用。

喜欢0 评分0
游客

返回顶部