Office中国论坛/Access中国论坛

标题: 请问高手!!如何编写自定义函数??我是新手,请多指教!!谢谢!! [打印本页]

作者: jihuali00    时间: 2005-6-14 23:45
标题: 请问高手!!如何编写自定义函数??我是新手,请多指教!!谢谢!!
如何在数据库中编写自定义函数??过程是怎么做的???[em04]
作者: 海狸先生    时间: 2005-6-14 23:57
如果要所有的项目都可以引用你这个函数那么在公共模块中写 (代码编辑器里,插入-模块)Function 语句示例

该示例使用 Function 语句来声明 Function 过程的名称、参数、以及构成 Function 过程主体的代码。最后一个例子中使用了确定类型的、初始化的 Optional 参数。'下面的用户自定义函数返回

'它的参数的平方根。

Function CalculateSquareRoot(NumberArg As Double) As Double

    If NumberArg < 0 Then    '评估参数。

        Exit Function    '退出调用过程。

    Else

        CalculateSquareRoot = Sqr(NumberArg)    '返回平方根。

    End If

End Function使用 ParamArray 关键字可以使函数接收数目可变的参数。在下面的定义中,FirstArg 是按值传递的。Function CalcSum(ByVal FirstArg As Integer, ParamArray OtherArgs())

Dim ReturnValue

'如果用如下代码调用该函数:

ReturnValue = CalcSum(4, 3 ,2 ,1)

'则局部变量被赋予以下值:FirstArg = 4,

'OtherArgs(1) = 3,OtherArgs(2) = 2,等等。

'假设缺省数组下界 = 1。Optional 参数可以带缺省值,可以是除 Variant 之外的任何类型。'如果函数的参数定义如下:

Function MyFunc(MyStr As String, Optional MyArg1 As _ Integer = 5, Optional MyArg2 = "Dolly")

Dim RetVal

'则可用如下代码调用该函数:

RetVal = MyFunc("Hello", 2, "World")    '提供了所有 3 个参数。

RetVal = MyFunc("Test", , 5)    '省略了参数 2。

'参数 1 和参数 3 使用了命名的参数。

RetVal = MyFunc(MyStr:="Hello ", MyArg1:=7)
作者: jihuali00    时间: 2005-6-15 00:09
[em01]多谢高手指点!!谢过了!!!




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3