访问表单 - 查询表达式中的语法错误(缺少运算符)

FGL*_*983 5 forms ms-access syntax-error access-vba

我在查询中创建的表单中收到语法错误.我创建了表单来限制对更改记录的访问.在尝试在表单上设置过滤器时,我会收到我尝试过滤的所有属性的语法错误.我相信这与()查询代码中内部连接的缺乏有关,但对我来说奇怪的是我可以毫无问题地过滤查询.以下是查询代码:

SELECT CUSTOMER.[Product Number], SALESPERSON.[Salesperson Number],
SALESPERSON.[Salesperson Name], SALESPERSON.[Email Address]
FROM SALESPERSON INNER JOIN CUSTOMER ON
SALESPERSON.[Salesperson Number] = CUSTOMER.[Salesperson Number];
Run Code Online (Sandbox Code Playgroud)

任何想法为什么只有表单会产生语法错误,或如何解决这个问题?

小智 9

通过进入Form的Design View并将[]放在任何有空格的字段名称周围,我能够快速修复它.我现在能够使用内置的过滤器,而没有关于语法问题的恼人的弹出窗口.


小智 6

我有同样的问题.正如Dedren所说,问题不是查询,而是表单对象的控制源.围绕每个对象控制源放置[].如:Contol Source: [Product number],Control Source: Salesperson.[Salesperson number]等等.

牧田recomends将您引用您的查询,并重新命名字段,以便有没有空格,例如原表:SalesPersonNumber,ProductNumber,等,这将解决许多未来的问题也是如此.祝你好运!


小智 2

尝试通过删除空格使字段名称合法。虽然可能性不大,但之前确实对我有帮助。