Access 2016 SQL Соединяет два запроса — недопустимый вызов процедуры

#sql #join #append #union #ms-access-2016

Вопрос:

Я пытаюсь объединить два запроса доступа (qry_Table1 и qry_Table2) с помощью SQL с помощью команды ОБЪЕДИНЕНИЯ в качестве третьего запроса, но я получаю следующее сообщение об ошибке:

Сообщение Об Ошибке Доступа

Команда ОБЪЕДИНЕНИЯ для объединения двух запросов (в виде добавления), каждый из которых имеет одинаковые столбцы:

 SELECT  CustomerNumber

FROM qry_Table_1

UNION SELECT CustomerNumber

FROM qry_Table_2;
 

Я знаю, что проблема связана с номером пользователя в qry_Table2, потому что я могу присоединиться к любому или всем остальным столбцам (не показанным здесь), если я исключу это.

qry_Table1:

 SELECT CustomerNumber FROM Customer;
 

qry_Table2:

 SELECT Left("88800000",8-Len([Customer2].CustomerNumber)) amp; [Customer2].CustomerNumber AS CustomerNumber FROM Customer2;
 

(Приведенная выше инструкция SELECT заполняет начало номера клиента до 8 цифр, используя строку «88800000», и отлично работает в qry_Table2.)

И qry_Table1, и qry_Table2 имеют одинаковые столбцы, с той лишь разницей, что в qry_Table2 столбец CustomerNumber заменен на вычисленный, как указано выше.

Я не уверен, что это проблема с доступом или проблема с тем, как я распределил запросы.

Очевидно, я удалил все остальные запросы, поскольку они чувствительны и не имеют отношения к делу.

Кто-нибудь может дать мне какой-нибудь совет о том, где я иду не так?

Спасибо!!!

Фил.

Комментарии:

1. Я не могу проверить в данный момент, но это потому, что один возвращает число, а другой-строку? Что делать, если вы используете Cstr([номер пользователя]) в первом запросе?

2. Привет, Минти, спасибо за ответ и приношу извинения за медленный ответ — я отказался от этого! В конце концов я решил, что было бы более эффективно выполнить это преобразование в исходных данных в качестве дополнительного столбца идентификатора, а не делать это на лету с помощью SQL.