Действительно запутано здесь: моя строка содержит дату, и я хочу ее распознать. VBA (доступ) нет.
Из моего отладчика:
(Q0) ?TypeName(strTMP)
(А) String
(Q1) ?strTMP
(A) "2017-03-23 12:35:39"
(Q2) ?CDate("2017-03-23 12:35:39")
(А) 23-3-2017 12:35:39
(Q3) ?IsDate("2017-03-23 12:35:39")
(А) True
(Q4) ?CDate(strTMP)
(А) 'Error 13 - type mismatch'
(Q5) ?IsDate(strTMP)
(А) False
Другими словами:
(0) переменная strTMP представляет собой строку
(1) доказывает, что переменная strTMP содержит строку, которая является датой
(2) доказывает, что содержимое этой строки распознается как дата
(3) доказывает, что содержимое этой строки действительно является действительной датой
Если все работает нормально, тогда
в (4) почему я получаю сообщение об ошибке 13 - Несоответствие типов и
в (5), почему VBA не распознает strTMP как содержащий дату?
Действительно забавное поведение. Как я могу заставить компьютер делать то, что я хочу?
Bas