VBA ADODB连接-SQL QUERY

时间:2016-05-10 12:00:56

标签: sql vba connection adodb

我在VBA中运行但是同样不起作用。获取错误没有给出一个或多个必需参数的值。

我的查询:

esql ="选择MAPPING_MONTH.DT,SUM(MAIL_ACTIVE_Base_Tracker_GA_AM_AO.COUNT)作为GA_COUNT来自MAPPING_MONTH LEVE OUTER JOIN MAIL_ACTIVE_Base_Tracker_GA_AM_AO B on A.DT = B.DATE其中((MAIL_ACTIVE_Base_Tracker_GA_AM_AO.CIRCLE)=" &""""& FName&" GROUP BY MAIL_ACTIVE_Base_Tracker_GA_AM_AO.CIRCLE"")"

RS.Open(esql),CN,adOpenStatic,adLockReadOnly

1 个答案:

答案 0 :(得分:0)

虽然有一些代码缺失可能有助于调试代码,但这里有一些改进(可能)已经解决了你的问题。如果情况并非如此,那么您可能需要考虑更新帖子并添加更多代码(您声明RSCN并设置ADODB.Connection)。

这里说的是建议的更改:

esql = "      select  MAPPING_MONTH.DT, "
esql = esql & "        sum(MAIL_ACTIVE_Base_Tracker_GA_AM_AO.COUNT) as GA_COUNT "
esql = esql & "from    MAPPING_MONTH A "
esql = esql & "left outer join MAIL_ACTIVE_Base_Tracker_GA_AM_AO B "
esql = esql & "on      A.DT = B.DATE "
esql = esql & "where   MAIL_ACTIVE_Base_Tracker_GA_AM_AO.CIRCLE = N'" & FName & "' " 
sql = esql & "group by MAIL_ACTIVE_Base_Tracker_GA_AM_AO.CIRCLE "

RS.Open esql, CN, adOpenStatic, adLockReadOnly

的变化:

  1. 删除esql行中RS.Open周围的括号。
  2. 删除构造的T-SQL语句中的括号
  3. 在{T-SQL}中交换"'将文件名包含为文本。