Функция формата VBA выдает ошибку несоответствия типов - PullRequest
0 голосов
/ 14 сентября 2010

Я пытаюсь отформатировать число в качестве валюты в Access VBA.

В ближайшем окне, когда я ввожу:

? Format(123, "Currency")

Я получаю ожидаемый ответ: "123,00 $"

Однако в окне кода при вводе:

Debug.Print Format(123, "Currency")

Я получаю сообщение об ошибке, указывающее на эту строку: «Ошибка времени выполнения« 13 »: несоответствие типов»

Почему тот же самый простой код работает в непосредственном окне, но выдает ошибку при запуске из окна кода?

Ответы [ 3 ]

1 голос
/ 14 сентября 2010

Я не понимаю, почему ваш второй пример должен вызвать ошибку.Следующая подпрограмма компилируется и запускается без ошибок в моей системе Access 2003:

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

Попробуйте эту подпрограмму в новой базе данных.Возможно, ваша текущая база данных повреждена.

См. Tony Toews ' Часто задаваемые вопросы о поврежденных базах данных Microsoft Access

0 голосов
/ 22 мая 2014

В окне отладки вы просто НЕ используете Debug.
Print эквивалентно ?
Так что Debug.Print Format(123, "Currency") в коде должно быть
Print Format(123, "Currency") в окне отладки или ? Format(123, "Currency")

0 голосов
/ 14 сентября 2010

Что вы подразумеваете под Кодовым окном?

Это работает:

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

End Sub
...