SQL文是在VBA代码里面循环拼接的,项目来源于一个输入的文档,其中有一段如下:
SELECT
IIF(项目1+项目2+~+项目100 = TOTAL,"X","O")
现在碰到一个问题,IIF判断条件中项目过多的时候(目前是超过93个,ISNULL之类的判断对个数有影响)这个IIF的结果就变得不正确。目前试过以下方法
1)将项目用括号括起来
SELECT
IIF((项目1+项目2)+ ~ +(项目99+项目100) = TOTAL,"X","O")
这样的结果是有一部分数据不正确,都是小数位特别多的,估计是加括号之后,double类型的数据计算顺序改变,导致结果不正确,所以不行
2)将结果放到查询中再比较
SELECT
项目1+项目2+~+项目100 AS SUM,
IIF(SUM = TOTAL,"X","O")
这样计算似乎也不行,也是有字段过多的问题