vba格式函数抛出类型不匹配错误

时间:2010-09-14 14:40:26

标签: ms-access vba access-vba number-formatting

我正在尝试将数字格式化为Access VBA中的货币。

在即时窗口中,当我输入:

? Format(123, "Currency")

我得到了预期的回复:“$ 123.00”

但是,在代码窗口中,当我输入:

Debug.Print Format(123, "Currency")

我收到指向该行的错误:“运行时错误'13':类型不匹配”

为什么相同的简单代码在即时窗口中有效,但在从代码窗口运行时抛出错误?

3 个答案:

答案 0 :(得分:1)

我不明白为什么你的第二个例子应该导致错误。以下子例程在我的Access 2003系统上编译并运行时没有错误:

Public Sub test_Format()
    Debug.Print Format(123, "Currency")
End Sub

在新数据库中尝试该子例程。也许您当前的数据库已损坏。

见Tony Toews'Corrupt Microsoft Access MDBs FAQ

答案 1 :(得分:0)

Code Window是什么意思?

这有效:

Private Sub Form_Load()
       Debug.Print Format(123, "Currency")

End Sub

答案 2 :(得分:0)

在调试窗口中,您不要使用Debug.
Print相当于?
因此代码中的Debug.Print Format(123, "Currency")应为
调试窗口中的Print Format(123, "Currency")? Format(123, "Currency")