在Ms Access中,函数返回0值是什么意思?

3
我在Ms Access中创建了一个函数,并在表单的子过程中调用它,但它返回了0。 以下是函数的代码:

Public Function Sum(a, b) As Double
    Dim total
    total = a + b
End Function

表单中子过程中的代码如下:
Private Sub cmdDisplay_Click()
    Dim a As Double
    Dim b As Double

    a = Val(Text0)
    b = Val(Text2)

    MsgBox (Sum(a, b))
End Sub

每次测试该按钮时,它都会显示0,但实际上应该将a和b相加。请帮忙解决。


1
只是一般的提示,您需要指定变量类型(例如Dim total as Double);这是完全不同于(Dime total)的类型,默认为Variant。 - ray
如果Alex的回答解决了你的问题,你应该接受它作为答案。 - Harry Steinhilber
1个回答

5

要返回一个值,你必须将其分配给函数名称,它的行为就像一个局部变量,类型为函数返回类型。

Public Function Sum(a, b) As Double
    Dim total
    total = a + b
    Sum = total '//sum is the function name and a variable of type double
End Function

或者更好的方式(如果你确实需要一个求和函数):
Public Function Sum(a as double, b as double) As Double
    Sum = a + b
End Function

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接