Ошибка недопустимого типа VBA: CDate не распознает строковую переменную «20xx-мм-дд чч: мм: сс» в качестве даты - PullRequest
0 голосов
/ 13 сентября 2018

Действительно запутано здесь: моя строка содержит дату, и я хочу ее распознать. 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...