访问VBA - 为声明为long的函数返回某种blank / null

时间:2012-08-06 16:09:11

标签: vba ms-access ms-access-2007 access-vba

问题:我想在Access中使用声明为Long类型的VBA函数。我希望在某些时候返回0到35之间的整数,但我也希望能够在大多数时间返回空格或null或类似的东西。有没有办法做到这一点?我尝试过的(variable =“”或Set variable = Nothing)只是调用了一个错误。这将在查询中使用,并将为一列提供值。我希望该列为Long类型。如果这样的事情不可能,我想这就是我需要知道的,因为我已经有了一个不同但不太理想的解决方案。谢谢你的帮助。

更新:当然,在提出问题之后,我找到了一个很好的解决方案。如果我只做范围(“无论什么”)。值=范围(“无论什么”)。Excel中的值,然后它将左对齐20更改为右对齐20,此时它被数据透视表识别为数字(虽然当我只是将单元格类型转换为Excel中的数字时,它不会被识别为数据透视表中的数字)。所以,我正在删除背景,因为没有必要。我仍然有兴趣知道你是否可以为声明为long的函数返回某种空格或null。感谢

2 个答案:

答案 0 :(得分:7)

Null只能从Variant函数返回 Nothing只能从Object函数返回。

所有其他人,您只能返回定义为函数返回值的类型的变量 如果未设置值,则返回默认值
数字变量初始化为零
可变长度字符串被初始化为零长度字符串(“”)
固定长度的字符串用ASCII码0填充 日期/时间变量初始化为零

答案 1 :(得分:2)

由于单位化long的值为0,因此答案是“#34; no。”#34;声明为long的函数不能返回null或空白。如果零不是函数的有效返回值,则可以使用" null"相当于,但你已经知道:)