Что не так с этим запросом Microsoft Access? - PullRequest
1 голос
/ 27 октября 2010

Рассмотрим этот запрос на доступ:

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;

Эта ошибка возникает на обоих:

'не является допустимым именем. Убедитесь, что он не содержит недопустимых символов или знаков препинания и не слишком длинный

Как это можно исправить?

Ответы [ 3 ]

2 голосов
/ 27 октября 2010

Судя по сообщению об ошибке, в запросе есть какой-то невидимый управляющий символ, вызывающий проблему.

Попробуйте повторить запрос с нуля, и он, скорее всего, будет работать.

Примечание: мне легче следовать за соединениями, если они написаны в таком порядке (т. Е. С предложением ON, следующим сразу за каждым JOIN):

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 голос
/ 27 октября 2010

Эта часть выглядит не так:

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.

0 голосов
/ 27 октября 2010

OK. Я упростил запрос:

SELECT prod_Parts.ID, prod_Parts.Number, prod_Parts.Revision, prod_Parts.Description FROM prod_Parts;

Та же ошибка:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...