考虑此Access查询:
SELECT prod_Parts.ID, prod_Parts.Number, prod_Parts.Revision, prod_Parts.Description
FROM prod_JT_Shipping
INNER JOIN (prod_JobTraveller
INNER JOIN prod_Parts
ON prod_JobTraveller.PartID = prod_Parts.ID)
ON prod_JT_Shipping.JT_ID=prod_JobTraveller.ID;
还有:
SELECT prod_Parts.ID, prod_Parts.Number, prod_Parts.Revision, prod_Parts.Description
FROM prod_Parts;
两者都发生此错误:
'不是有效名称。确保它不包含无效字符或标点符号并且不会太长
如何解决这个问题?
答案 0 :(得分:2)
从错误消息判断,您在查询中有一些不可见的控制字符,这会导致问题。
尝试从头开始重新输入查询,这很可能会有效。
旁注:如果按顺序编写连接,我会发现更容易遵循连接(即在每个JOIN之后直接使用ON子句):
SELECT
prod_Parts.ID, prod_Parts.Number, prod_Parts.Revision, prod_Parts.Description
FROM
(
prod_JT_Shipping
INNER JOIN prod_JobTraveller ON prod_JT_Shipping.JT_ID=prod_JobTraveller.ID
)
INNER JOIN prod_Parts ON prod_JobTraveller.PartID = prod_Parts.ID
答案 1 :(得分:1)
这部分看起来不正确:
INNER JOIN (prod_JobTraveller
INNER JOIN prod_Parts ON prod_JobTraveller.PartID = prod_Parts.ID)
如果你在没有空格的情况下合并它,它就像
INNER JOIN (prod_JobTraveller INNER JOIN prod_Parts ON prod_JobTraveller.PartID = prod_Parts.ID)
哪个是无效的SQL。
答案 2 :(得分:0)
行。我简化了查询:
SELECT prod_Parts.ID,prod_Parts.Number,prod_Parts.Revision,prod_Parts.Description FROM prod_Parts;
同样的错误:)