代码之家  ›  专栏  ›  技术社区  ›  donodarazao

Access VBA:函数中缺少值的空结果?

  •  0
  • donodarazao  · 技术社区  · 15 年前

    Public Function abc(var_1 As Variant) As Single
    abc = 2 * var_1
    End Function
    

    我想在访问查询中调用该函数。“var_1”的值来自数字(单个)数据字段。 问题:var_1的某些值为空/缺少。对于这些值,我需要函数的结果也为空,但现在它们是“0”。

    我已经试过很多东西了,但都没用。空值的结果始终为“0”且不为空。这里有一个尝试:

    If IsNull(var_1) Then
            abc = Empty
            Exit Function
    End If
    

    对于这个问题的任何帮助都将不胜感激。:)

    最后我用了贝丝的答案,尽管这比我想要的要多 在SQL中调用函数:

    IIF(IsNull(X)=False;abc(X))
    

    VBA中的abc:

    Public Function abc(var_1 As Single) As Single
    abc = 2 * var_1
    End Function
    
    2 回复  |  直到 5 年前
        1
  •  2
  •   Buggabill    15 年前

    将函数更改为如下所示。

    Public Function abc(var_1 As Variant) As Variant
        If IsNumeric(var_1) Then
            abc = 2 * var_1
        Else
            abc = Null
        End If
    End Function
    

    我不相信你可以返回一个空值在一个单一的,因为你试图这样做。

        2
  •  0
  •   Beth    15 年前

    或者在比函数更高的级别上测试null,尽管在调用函数的任何地方都必须这样做

    推荐文章