У меня есть строка SQL, которая преобразует обычную дату, хранящуюся на сервере, но когда я добавляю строку в VBA, я получаю Run Time Error that the Column or global variable doesn't exist
.
Когда я использую строку в Microsoft Query, она работает простохорошо.Обратите внимание, что я почти не знаю SQL.
Это строка SQL, которую я использую для преобразования из YYYYDD в MMDDYYYY decimal(replace(char(date(timestamp_format(digits(CFMAST.CFDOB7),'YYYYDDD')),usa),'/',''),8,0)
Здеськак я внедряю его в VBA для Excel
strSQL="SELECT decimal(replace(char(date(timestamp_format(digits(CFMAST.CFDOB7),'YYYYDDD')),usa),'/',''),8,0) FROM CNCTTP08.JHADAT842.CFMAST "
strSQL = strSQL & " WHERE (CFMAST.CFDOB7<>0) AND (CFMAST.CFDOB7<>1800001)"
Когда я запускаю запрос через Microsoft Query, я получаю ожидаемый результат, когда он форматирует все даты из CFMAST.CFDOB7 as MMDDYYYY
, но когда я запускаюстрока в VBA
Я получаю следующую ошибку:
[IBM] [Драйвер ODBC для System i Access] [DB2 для i5 / OS] SQL0206 - Столбец или глобальная переменная CFDOB7 не найдены.