Access SQL报错3141:SELECT语句含保留字或语法错误,求排查
解决Access SQL错误3141:SELECT语句语法问题
你的SQL语句存在几个明确的语法错误,直接导致了3141错误,具体问题和修正方案如下:
错误点拆解
- 字段列表末尾多余逗号:第一个SELECT字段列表的最后一项
[belfiusbonussavings].verschil后面多了个逗号,Access SQL不允许字段列表结尾有冗余标点。 - 重复的FROM子句:你连续写了两次
FROM [belfiusbonussavings],单个SELECT语句只能有一个主FROM子句(子查询的FROM除外)。 - 子查询位置错误:计算累计余额的子查询应该作为新增计算字段嵌入到SELECT的字段列表中,而非放在主FROM子句之后。
修正后的完整SQL
SELECT [belfiusbonussavings].ID, [belfiusbonussavings].jaar, [belfiusbonussavings].maand, [belfiusbonussavings].dag, [belfiusbonussavings].debet, [belfiusbonussavings].credit, [belfiusbonussavings].datum, [belfiusbonussavings].comment, [belfiusbonussavings].verschil, (SELECT Sum(verschil) FROM [belfiusbonussavings] as OD WHERE OD.ID <= [belfiusbonussavings].ID) AS saldobedrag FROM [belfiusbonussavings] ORDER BY [belfiusbonussavings].[ID], [belfiusbonussavings].[jaar], [belfiusbonussavings].[maand], [belfiusbonussavings].[dag];
修正后的语句将累计余额的子查询作为计算字段加入到SELECT列表,同时移除了多余逗号和重复的FROM子句,完全符合Access SQL的语法要求。
内容的提问来源于stack exchange,提问作者JonIgartua
相关产品推荐
相关产品推荐

