我正在尝试将数字格式化为Access VBA中的货币。
在即时窗口中,当我输入:
? Format(123, "Currency")
我得到了预期的回复:“$ 123.00”
但是,在代码窗口中,当我输入:
Debug.Print Format(123, "Currency")
我收到指向该行的错误:“运行时错误'13':类型不匹配”
为什么相同的简单代码在即时窗口中有效,但在从代码窗口运行时抛出错误?
答案 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")