Excel中的SQL VBA语法
我正在尝试编写一个CASE WHEN然后ELSE END等价于在查询另一个Excel电子表格的VBA ODBC连接。 我已经尝试了一切,我只能得到这个成功查询电子表格:
.CommandText = "SELECT Data$.CALC_POST_PERIOD='201211' FROM Data$ Data$
结果是当条件为真时返回-1
,否则返回0
我如何定制这个?
我正在尝试做这样的事情
SELECT CASE WHEN Data$.CALC_POST_PERIOD='201211' THEN 'CURR_MONTH' ELSE NULL END
但这给了我一个错误 – 不匹配
以下是否适合你?
"SELECT [Items], " _ "IFF([CALC_POST_PERIOD] = '201211' , 'CURR_MONTH' , '') as NewColumn FROM [Data$]"
运行查询后,只需testingTRUE或FALSE。
If rs.Fields(0).Value Then sReturn = "CURR_MONTH" Else sReturn = vbNullString End If
如果是函数,则将sReturn分配给函数名称。 其他部分不是必须的,只要sReturn之前没有被设置为别的东西,但为了清楚起见,我将其包括在内。 还假定你的CommandText是一个名为'rs'的logging集variables。
您可以使用SWITCHfunction:
SELECT SWITCH(Data$.CALC_POST_PERIOD='201211', 'CURR_MONTH', TRUE, NULL)