【发布时间】:2014-02-13 08:31:02
【问题描述】:
我在 Access 表单中有一些 vba 代码,在以下情况下调用时会产生“ByRef Argument type mismatch”错误。
我有一个小功能
NullAndHide(ctl as control,displayitem as Boolean)
当我这样称呼它时,它会按预期工作。
Call NullAndHide(Me.Control,True)
但是,如果我使用下面的 case 语句尝试根据另一个控件设置 displayitem 的值:
Dim PerPersonOption, PerRoomOption As Boolean
Select Case PriceType_ID
Case Is = 1 'Per Person
PerPersonOption = True
PerRoomOption = False
Case Is = 2 'Per Room
PerPersonOption = False
PerRoomOption = True
End Select
然后
Call NullAndHide(Me.Control,PerPersonOption)我得到错误:
ByRef 参数类型不匹配
我已经用
测试了 PerPersonOption 的值msgBox PerPersonOption
它返回正确的布尔值。
我的函数需要一个布尔值,我给它一个布尔值 - 那么为什么会出现这个错误?
【问题讨论】: