access VBA定义
发布网友
发布时间:2022-05-26 22:41
我来回答
共1个回答
热心网友
时间:2023-11-24 00:16
修改函数声明部分,别的不变:
Function Tax(xVuale , MVuale ) As Double
参考:
ByRef 参数类型不匹配
按缺省规定,一个以 ByRef (按址)方式传递的参数,必须具有该过程所允许的正确数据类型。这个错误的起因与解决方法如下所示:
传递的参数,其类型不能被强迫转成所需的类型。
例如,如果预期的是 Long,而传递的却是 Integer 变量,就会生成错误。假如您想要避免发生这种情形,可以将参数放在括弧中来传递。例如,若要传递 Variant 参数 MyVar 至一个必须是 Integer 参数的过程,您可撰写以下的调用:
Dim MyVar
MyVar = 3.1415
Call SomeSub((MyVar))
Sub SomeSub (MyNum As Integer)
MyNum = MyNum + MyNum
End Sub
将参数放在括弧中,强迫其作为一个表达式来计算。在此期间,数值的小数部分会被四舍五入(并非被截断),使它符合所预期的参数类型。计算结果会被放在一个临时区,而该过程会收到该临时区的地址。因此,原来的MyVar 会保留其值。
注意 假如您不指定变量类型,则此变量会以缺省的类型 (Variant) 被接收。这并不一定是明显的。
例如,下列的过程代码声明两个变量,第一个变量 MyVar 是一个Variant;而第二个变量 AnotherVar 是一个 Integer。
Dim MyVar, AnotherVar As Integer追问没太看懂你的回答,我这个方法就是为了打开一个excelsheet页面,括号里的参数是路径,就是string型的。