sql = "INSERT INTO 静态表 ( 日期, 门店名称, 短信发送总数, 短信发送成功数, [成功率(%)], 当月累积成功数 )" _
& "SELECT 门店日数据.日期, 门店日数据.门店名称, 门店日数据.短信发送总数, 门店日数据.短信发送成功数," _
& "Round([门店日数据]![短信发送成功数]/[门店日数据]![短信发送总数]*100,2) AS [成功率(%)]," _
& "DSum('短信发送总数','门店日数据','[日期]<=#" & [日期] & "'# and [门店名称]='" & [门店名称] & "' and month(日期)=" & "Month(日期)) AS 当月累积成功数" & "FROM 门店日数据"
这样写 也是提示和上面一样的话 不知道为啥 但我单独运行
INSERT INTO 静态表 ( 日期, 门店名称, 短信发送总数, 短信发送成功数, [成功率(%)], 当月累积成功数 )
SELECT 门店日数据.日期, 门店日数据.门店名称, 门店日数据.短信发送总数, 门店日数据.短信发送成功数, Round([门店日数据]![短信发送成功数]/[门店日数据]![短信发送总数]*100,2) AS [成功率(%)], DSum("短信发送总数","门店日数据","[日期]<=#" & [日期] & "# and [门店名称]='" & [门店名称] & "' and month([日期])=" & Month([日期])) AS 当月累积成功数
FROM 门店日数据;
是没问题的
sql = "INSERT INTO 静态表 ( 日期, 门店名称, 短信发送总数, 短信发送成功数, 成功率(%), 当月累积成功数 )
"SELECT '"& 门店日数据.日期 &"', '"& 门店日数据.门店名称 &"', '"& 门店日数据.短信发送总数 &"','"& 门店日数据.短信发送成功数 &"',
'" & Round([门店日数据]![短信发送成功数]/[门店日数据]![短信发送总数]*100,2) &"',
'"& DSum('短信发送总数','门店日数据','[日期]<=#" & [日期] & "'# and [门店名称]='" & [门店名称] & "' and month(日期)=" & "Month(日期)) &"'
试试
没有用换行符。 换行符应该是 & _ , 不是 _&
能不能用ROUND 、DSUM 试了才知道。
检查一下sql的运行结果,发现有很多地方没有空格,不该有空格的地方却有空格:
INSERT INTO 静态表 ( 日期, 门店名称, 短信发送总数, 短信发送成功数, [成功率(%)], 当月累积成功数 )SELECT 门店日数据.日期, 门店日数据.门店名称, 门店日数据.短信发送总数, 门店日数据.短信发送成功数,Round([门店日数据]![短信发送成功数]/[门店日数据]![短信发送总数]*100,2) AS [成功率(%)],DSum('短信发送总数','门店日数据','[日期]<=#2016-04-25'# and [门店名称]='门店名称' and month(日期)=Month(日期)) AS 当月累积成功数FROM 门店日数据
比如: "... 当月累积成功数 )SELECT 门店日数据.日期 ..."的select之前应该有空格;"...当月累积成功数FROM 门店日数据..."的from前面应该有空格.
另外:"...and month(日期)=Month(日期)) AS..."的两个"Month(日期)"相等是什么意思?
还有:"...DSum('短信发送总数','门店日数据','[日期]<=#2016-04-25'# ..."中,的单引号',建议改为双引号",且'[日期]<=#2016-04-25'#的表达式有问题,应该是:"[日期]<=#2016-04-25#"
建议做成实例发上来,方便彻底解决问题!
呵呵,"静态表 ( 日期, "中间的"("是中文的,不是英文的。
总记录:7篇 页次:1/1 9 1 :