Я пытаюсь использовать ADODB в макросе Excel для извлечения данных из таблицы DB2 с помощью запроса SQL. Я столкнулся с ошибкой, вызванной выражением в запросе. Соответствующий код приведен ниже - проблема исходит из оператора IIF в первой строке . (Другие SQL запросы в рамках проекта, над которым я работаю, были выполнены без каких-либо проблем.)
SQL_input = SQL_input & "SELECT DB2.TABLE1.CAT, DB2.TABLE1.BRD, DB2.TABLE1.ITEM, Sum(IIF(ITEM_ORD_Q-ITEM_RECV_Q < 0,0,ITEM_ORD_Q-ITEM_RECV_Q)) AS OO" & vbCrLf
SQL_input = SQL_input & "FROM DB2.TABLE2 INNER JOIN DB2.TABLE ON (DB2.TABLE2.ITEM = DB2.TABLE1.ITEM) AND (DB2.TABLE2.BRD = DB2.TABLE1.BRD) AND (DB2.TABLE2.CAT = DB2.TABLE1.CAT)" & vbCrLf
SQL_input = SQL_input & "WHERE (((DB2.TABLE2.ITEM_GRP_CAT)=" & cat & ") AND ((DB2.TABLE2.ITEM_GRP_code_C)='" & code & "'))" & vbCrLf
SQL_input = SQL_input & "GROUP BY DB2.TABLE1.CAT, DB2.TABLE1.BRD, DB2.TABLE1.ITEM;"
AdoRS1.Open (SQL_input)
Я получаю сообщение об ошибке: SQL0104N Неожиданный токен «<» был найдено после "" </em>
Кто-нибудь знает, как я могу изменить строку для запроса, чтобы он работал?
Спасибо !!