MS Access多左连接报错求助:双左连接实现需求排查
解决MS Access两次左连接的语法错误问题
嘿,我来帮你排查下这个Access左连接的报错问题!你遇到的「语法错误或缺少运算符」,大概率是带空格的字段名没有正确用方括号包裹,再加上可能语句结构的小疏漏,咱们一步步来修正:
问题分析
你给出的FROM子句里,有两个关键问题:
- 带空格的字段名未加方括号:
[DFM report].Receipt Date里的Receipt Date是带空格的字段,Access会把它拆成两个部分识别,直接导致语法错误;同理[Accounting Calendar].Date,虽然Date是Access的保留字,加方括号也能避免冲突。 - 原语句可能不完整:你只给出了FROM部分,要确保整个SQL语句是完整的(比如开头有SELECT字段列表)。
修正后的完整SQL示例
SELECT [DFM report].URN, [DFM report].[Receipt Date], [Audit report].相关字段名, -- 替换成你需要的Audit表字段 [Accounting Calendar].[Date], [Accounting Calendar].其他字段名 -- 替换成你需要的日历表字段 FROM (([DFM report] LEFT JOIN [Audit report] ON [DFM report].URN = [Audit report].URN) LEFT JOIN [Accounting Calendar] ON [DFM report].[Receipt Date] = [Accounting Calendar].[Date]);
关键注意点
- Access对多表嵌套连接的括号要求很严格,你原来的双层括号结构是正确的,不用改;
- 所有带空格的表名、字段名,都必须用方括号
[]完整包裹,比如[Receipt Date]不能写成Receipt Date; - 如果使用了Access的保留字(比如
Date)作为字段名,一定要加方括号,避免语法冲突。
内容的提问来源于stack exchange,提问作者Sk123
相关产品推荐
相关产品推荐

