【发布时间】:2020-08-22 03:34:50
【问题描述】:
我正在尝试在 Excel 宏中使用 ADODB 通过 SQL 查询从 DB2 表中提取数据。我遇到了由查询中的表达式引起的错误。相关代码如下 - 问题来自第一行的 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 在“”之后发现了一个意外的标记“
有谁知道我可以如何更改查询的字符串以使其正常工作?
谢谢!!
【问题讨论】: