Меню

Microsoft query синтаксическая ошибка

 

agregator

Пользователь

Сообщений: 205
Регистрация: 01.01.1970

Здравствуйте. Создаю запрос из Файла «Данные.xls» с помощью мастера создания запросов.
1.Создаю источник. Выбираю драйвер Driver do Microsoft Excel(*.xls)
2. При создании запроса, создаю правило отбора данных. Столбец «Марка» содержит ПАЗ
При сохранении запроса показывает, что «Синтаксическая ошибка»

Подскажите пожалуйста как создать запрос, который выдавал бы Марки содержащие «ПАЗ».

Изменено: agregator13.04.2015 21:51:22

 

agregator

Пользователь

Сообщений: 205
Регистрация: 01.01.1970

Дописал запрос в Блокноте, но Microsoft Query выдает «Синтаксическая ошибка»
XLODBC
1
DBQ=H:данные.xls;DefaultDir=H:;Driver={Driver do Microsoft Excel(*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=1;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;
SELECT `plbase$`.`Уч-к`, `plbase$`.`№ ПЛ`, `plbase$`.`Дата ПЛ`, `plbase$`.Смена, `plbase$`.`Гар#№`, `plbase$`.Марка, `plbase$`.`Таб#№ вод`, `plbase$`.Водитель, `plbase$`.Время, `plbase$`.`Отр#`  FROM `H:Данные`.`plbase$` `plbase$`  WHERE (`plbase$`.`Уч-к`=7.0) AND (`plbase$`.`Отр#`<>’ПВ’) AND (`plbase$`.`Марка` Like ‘%ПАЗ%’)

Уч-к    № ПЛ    Дата ПЛ    Смена    Гар#№    Марка    Таб#№ вод    Водитель    Время    Отр#

Изменено: agregator13.04.2015 21:51:48

 

TheBestOfTheBest

Пользователь

Сообщений: 2340
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

У вас колонка Марка непонятного для Query типа (то ли строка, то ли нет). Есть требования к формату источника данных, правда я их нигде не читал, вывел путем проб и ошибок:
1) в названиях полей не использовать ./№#%$ и т.д.
2) первая строка источника — описание полей, вторая их тип. Чтобы заработал Like внесите в G2 какую-нибудь строку (напр. «-«) тогда query будет считать колонку Марка —  string.
3) до описания полей ничего не вставлять, т.е. описанию полей не должны предшествовать никакие данные

Для примера я явно преобразовал в where поле Марка в string с помощью ф-ии trim()

Изменено: TheBestOfTheBest13.04.2015 19:14:34

Неизлечимых болезней нет, есть неизлечимые люди.

 

agregator

Пользователь

Сообщений: 205
Регистрация: 01.01.1970

TheBestOfTheBest, большое спасибо за объяснения. Но никак не могу преобразовать поле Марка в string.  В G2 писал «-» — не помогло. Покажите пожалуйста как это делается «преобразовал в where поле Марка в string с помощью ф-ии trim()»

 

TheBestOfTheBest

Пользователь

Сообщений: 2340
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

#5

15.04.2015 23:20:37

Цитата
agregator написал: как это делается «преобразовал…

Изучите ф-ию trim(), особенно то, что она возвращает.

Неизлечимых болезней нет, есть неизлечимые люди.

 

agregator

Пользователь

Сообщений: 205
Регистрация: 01.01.1970

#6

16.04.2015 15:50:47

TheBestOfTheBest, , вы имеете ввиду

Код
XLODBC
1
DBQ=D:Данные.xls;DefaultDir=D:;Driver={Driver do Microsoft Excel(*.xls)};DriverId=790;FIL=excel 8.0;MaxBufferSize=2048;MaxScanRows=8;PageTimeout=5;ReadOnly=1;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes;
SELECT *  FROM `D:Данные`.`plbase$` `plbase$`  WHERE (trim(`plbase$`.`Марка`) Like '%ПАЗ%')

Если открыть в Excel этот запрос или ранний, то данные подтягиваются как надо. Но дело в том, что я хочу использовать запрос как источник для сводной таблицы, а использовать для сводной таблицы не получается — Microsoft Query пишет «Синтаксическая ошибка». Как решить эту проблему?

Изменено: agregator16.04.2015 15:54:18

Excel всемогущий.

 

TheBestOfTheBest

Пользователь

Сообщений: 2340
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

Изменить формат таблицы-источника.

PS С query не работаю, т.к.очень глючит и не все позволяет реализовать.

Изменено: TheBestOfTheBest16.04.2015 15:59:32

Неизлечимых болезней нет, есть неизлечимые люди.

 

agregator

Пользователь

Сообщений: 205
Регистрация: 01.01.1970

TheBestOfTheBest, пробовал создать запрос из файла «Данные TheBest.xls» с помощью мастера запросов,  ничего не получилось. Пробовал использовать «Запрос из Excel Files.odc» как источник для сводной таблицы, не смог указать на него как на источник.

Изменено: agregator16.04.2015 19:13:25

 

TheBestOfTheBest

Пользователь

Сообщений: 2340
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

#9

16.04.2015 19:15:47

Цитата
agregator написал:  ничего не получилось

добивайтесь !

Цитата
не смог указать на него

тренируйтесь !
Берите за образец приложенный файл #7.

Неизлечимых болезней нет, есть неизлечимые люди.

 

agregator

Пользователь

Сообщений: 205
Регистрация: 01.01.1970

TheBestOfTheBest,это можно сделать средствами Excel?

 

TheBestOfTheBest

Пользователь

Сообщений: 2340
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

#11

16.04.2015 19:45:56

Коллега, формат форума предполагает помощь, но не обучение. Если вы задаете вопрос, то как минимум должны уметь понять ответ. Иначе получится курс обучения по использованию подключений к внешним источникам данных.

ЗЫ

Цитата
agregator написал: это можно сделать средствами Excel?

а как же по-вашему получен файл #8 ? Средствами Excel

Неизлечимых болезней нет, есть неизлечимые люди.

 

JeyCi

Пользователь

Сообщений: 3351
Регистрация: 27.11.2013

#12

16.04.2015 20:28:57

Цитата
agregator написал: Но дело в том, что я хочу использовать запрос как источник для сводной таблицы

поэтому лучше предупреждать об этом заранее… где источник, а где Сводная Таблица? — если в одном файле, то будут проблемы — описано здесь (в ветке

Ищу ХОРОШУЮ книгу по сводным таблицам

— пост№49) …   там же чуть ниже пост от

BankirS

с вариантом автообновления сводной макросом… источник сводной и саму сводную лучше располагать в разных файлах! иначе проблемы с запросами файла самого на себя… либо KL предлагал вариант макросом через ADO (к сожалению, по ветке не поместился файл, а файлообменники уже его затёрли)… для инфо:

Использование библиотеки ADO

(если вариант UpdatePivotTable от

BankirS

не подойдёт)

Изменено: JeyCi16.04.2015 20:31:43

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

TheBestOfTheBest

Пользователь

Сообщений: 2340
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

#13

16.04.2015 20:38:09

Цитата
Пробовал использовать «Запрос из Excel Files.odc» как источник для сводной таблицы, не смог указать на него как на источник

на новом листе Данные-Существующие подключения- выбрать из раздела Подключения в этой книге созданное подключение. Открыть нужное.
Далее выбрать Отчет сводной таблицы. Все.

Неизлечимых болезней нет, есть неизлечимые люди.

 

agregator

Пользователь

Сообщений: 205
Регистрация: 01.01.1970

Всем большое спасибо за помощь. Сделал как написал TheBestOfTheBest  в 13 сообщении и всё получилось. :D

 

JeyCi

Пользователь

Сообщений: 3351
Регистрация: 27.11.2013

#15

17.04.2015 15:42:11

Цитата
TheBestOfTheBest написал: С query не работаю, т.к.очень глючит и не все позволяет реализовать… тренируйтесь

подкреплю ветку скринами…
без Query — как-то так, видимо… но вот на последнем шаге проблема, которая не позволяет «тренироваться»… говорит ЭТОТ ИСТОЧНИК ДАННЫХ НЕ СОДЕРЖИТ ВИДИМЫХ ТАБЛИЦ — …  не подскажете, как вы обходите её?? (не задавая именнованного диапазона)

Скрытый текст

P.S. иногда на предпоследнем шаге тоже говорит… НЕРАСПОЗНАВАЕМЫЙ ФОРМАТ Базы Данных… — но этот вопрос решён — если на скрине 3 не забыть указать имя в поле, до нажатия кнопки Создать
(после n-го количества проб и ошибок)

Изменено: JeyCi17.04.2015 16:38:49

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

JeyCi

Пользователь

Сообщений: 3351
Регистрация: 27.11.2013

p.s.

Создание сводной таблицы на основе внешнего источника

данных хорошо описано у дружественного сайта… но там на примере .mdb-файлов… — можно создавать Сводную и по ходу формировать нужный запрос — как альтернативный вариант для ТС

Изменено: JeyCi17.04.2015 15:56:20

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

 

TheBestOfTheBest

Пользователь

Сообщений: 2340
Регистрация: 03.04.2015

Excel 2010 +PLEX +SaveToDB +PowerQuery

#17

17.04.2015 16:37:44

Цитата
JeyCi написал: ..  не подскажете, как вы обходите её?? (не задавая именнованного диапазона)

В данном случае подключение в файле было, коллега спросил как сделать сводную

из него

. Если подключения нет, его придется создавать, кодом или query. Я обычно создаю через query любое попроще и дописываю свойства подключения ручками. Query — кране глючный инструмент, даже where дает ошибки.

Изменено: TheBestOfTheBest17.04.2015 16:51:06

Неизлечимых болезней нет, есть неизлечимые люди.

 

JeyCi

Пользователь

Сообщений: 3351
Регистрация: 27.11.2013

#18

17.04.2015 16:40:10

Цитата
TheBestOfTheBest написал: кодом или query…  создаю через query любое попроще и дописываю свойства подключения ручками.

теперь можно тренироваться :)

Изменено: JeyCi17.04.2015 16:41:33

чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок — обратитесь к собеседнику на ВЫ — ответ на ваш вопрос получите — а остальное вас не касается (п.п.п. на форумах)

258

12 февраля 2004 года

SergeySV

1.5K / / 19.03.2003

Господа, никто не подскажет url в msdn или еще где, с описанием всевозможных спецсимволов, когда используется LIKE в WHERE.
Раньше для коннекта из проги на VB6 к бд Access использовал DAO, там все было понятно, полное соответствие оператору Like в VB.
Сейчас вместо DAO использую ADO.

Заранее спасибо.
Иван Абрамов, программист, CSBI.
http://adanalysis.narod.ru — моя программа для выбора авто.
13 янв 04, 16:25 [489811]

Re: Описание спецсимволов для LIKE в ADO ?
Темный
Member

Откуда: РФ, Москва
Сообщений: 1714 Синтаксис SQL ANSI 92
% = *
? = _ (если не ошибаюсь)
13 янв 04, 16:26 [489814]

Re: Описание спецсимволов для LIKE в ADO ?
Иван Абрамов
Member

Откуда: СПб
Сообщений: 63 Немного не так.

DAO ADO
* %
? _

а вот дальше?

что вместо #, !
^ — как в MS SQL Server — не работает.

Вообщем, нужен url к полному описанию.

13 янв 04, 16:47 [489860]
Хам трамвайный

из справки

Сравнение языка запросов Microsoft Jet SQL и ANSI SQL

Ядро базы данных Microsoft Jet SQL в основном совместимо с ANSI-89 Level 1. Однако некоторые возможности языка запросов ANSI SQL не реализованы в Microsoft Jet SQL. В выпуске Microsoft Jet версии 4.X для поставщика Microsoft OLE DB для Jet реализовано больше синтаксиса ANSI-92 SQL. Аналогично, язык запросов Microsoft Jet SQL содержит зарезервированные слова и возможности, не поддерживаемые языком ANSI SQL.

Основные различия
Языки Microsoft Jet SQL и ANSI SQL имеют разные зарезервированные слова и типы данных. Дополнительные сведения см. в разделах Зарезервированные слова языка SQL ядра базы данных Microsoft Jet и Эквивалентные типы данных ANSI SQL. При использовании поставщика Microsoft OLE DB для Jet с версией Jet 4.X существует несколько дополнительных зарезервированных слов.
Другие правила применяются для конструкции Between…And, которая имеет следующий синтаксис.
выражение1 [NOT] Between значение1 And значение2

В языке Microsoft Jet SQL значение1 может быть больше, чем значение2; в языке ANSI SQL значение1 должно быть меньше значения2 или равно ему.

В языке Microsoft Jet SQL при использовании оператора Like поддерживаются как подстановочные знаки языка ANSI SQL, так и подстановочные знаки, относящиеся к Microsoft Jet. Невозможно совместно использовать подстановочные знаки ANSI и Microsoft Jet. Допускается использовать только один набор знаков, их нельзя смешивать. Использование знаков языка ANSI SQL разрешено только с ядром Jet версии 4.X и с поставщиком Microsoft OLE DB для Jet. При попытке использования подстановочных знаков языка ANSI SQL с приложением Microsoft Access или объектами DAO они будут трактоваться как литералы. Обратное верно при использовании поставщика Microsoft OLE DB для Jet и ядра Jet версии 4.X. Символ соответствия Microsoft Jet SQL ANSI SQL
Любой текстовый символ ? знак подчеркивания (_)
Любое количество символов * %

В языке Microsoft Jet SQL меньше ограничений. Например, разрешается производить группировку и сортировку по выражениям.
Язык Microsoft Jet SQL поддерживает более производительные выражения.
Расширенные возможности языка Microsoft Jet SQL
Язык Microsoft Jet SQL обладает следующими расшиpенными возможностями.

Инструкция TRANSFORM обеспечивает поддержку перекрестных запросов.

Существуют дополнительные статистические функции SQL, такие как StDev и VarP.
Для определения параметров запроса используется описание PARAMETERS.

Возможности языка ANSI SQL, не поддерживаемые в языке Microsoft Jet SQL
Язык Microsoft Jet SQL не поддерживает следующие возможности языка ANSI SQL.

Ссылки в статистической функции DISTINCT. Например, в языке Microsoft Jet SQL невозможно использовать конструкцию SUM(DISTINCT имя_столбца).
Использование предложения LIMIT TO nn ROWS для ограничения числа строк, возвращаемых запросом. Для подобного ограничения можно использовать только предложение WHERE.

13 янв 04, 16:49 [489864]

Re: Описание спецсимволов для LIKE в ADO ?
Иван Абрамов
Member

Откуда: СПб
Сообщений: 63 То есть все так, сорри, Темный, и спасибо.
Но нужна полная картина.
13 янв 04, 16:51 [489869]

Re: Описание спецсимволов для LIKE в ADO ?
Senin Viktor
Member

Откуда: Подмосковье
Сообщений: 4087 описание символов и примеров LIKE бери из справки к MS SQL серверу

[ ] Any single character within the specified range ([a-f]) or set ([abcdef]).
(WHERE au_lname LIKE ‘[C-P]arsen’ finds author last names ending with arsen and
beginning with any single character between C and P, for example Carsen, Larsen,
Karsen, and so on.)

[^] Any single character not within the specified range ([^a-f]) or set
([^abcdef]). (WHERE au_lname LIKE ‘de[^l]%’ all author last names beginning with
de and where the following letter is not l.)

LIKE ‘5[%]’ 5%

LIKE ‘[_]n’ _n

LIKE ‘[a-cdf]’ a, b, c, d, or f

LIKE ‘[-acdf]’ -, a, c, d, or f

LIKE ‘[ [ ]’ [

LIKE ‘]’ ]

LIKE ‘abc[_]d%’ abc_d and abc_de

LIKE ‘abc[def]’ abcd, abce, and abcf

и т.д.
13 янв 04, 16:55 [489881]

Re: Описание спецсимволов для LIKE в ADO ?
Иван Абрамов
Member

Откуда: СПб
Сообщений: 63 Спасибо, Хам, но, опять же в твоей цитате упоминается лишь *(%) и ?(_).
А как на счет #, !, , [] ?
13 янв 04, 16:58 [489891]

Re: Описание спецсимволов для LIKE в ADO ?
Иван Абрамов
Member

Откуда: СПб
Сообщений: 63 описание символов и примеров LIKE бери из справки к MS SQL серверу

Да, я так и сделал.
Но, к удивлению обнаружил, что маски с ^ не работают, а с ! работают. Каша какая-то получается, вот и спросил.
13 янв 04, 17:03 [489900]
Откуда: СПб
Сообщений: 63 А что будет выдавать WHERE Phone1 LIKE ‘([0-9][0-9][0-9])[134567890]%’
Выдает все правильно, т.е. 6-ой символ не двойка.
13 янв 04, 18:01 [490023]

Re: Описание спецсимволов для LIKE в ADO ?
Senin Viktor
Member

Откуда: Подмосковье
Сообщений: 4087 ну а дальше объясни: почему именно АНСИ 92. Откуда оно взялось при работе VB6 с акесом (версия бд)?
13 янв 04, 18:02 [490031]

Re: Описание спецсимволов для LIKE в ADO ?
Иван Абрамов
Member

Откуда: СПб
Сообщений: 63 Из проги на VB6 при помощи ADO 2.5 идет запрос к бд формата MS Access 2000.
13 янв 04, 18:05 [490044]

Re: Описание спецсимволов для LIKE в ADO ?
Иван Абрамов
Member

Откуда: СПб
Сообщений: 63 ну а дальше объясни: почему именно АНСИ 92. Откуда оно взялось при работе VB6 с акесом (версия бд)?

Потому что используется ADO, а не DAO.
Спецсимволы * и ? и # не работают просто наглядно.
13 янв 04, 18:07 [490051]

Re: Описание спецсимволов для LIKE в ADO ?
Иван Абрамов
Member

Откуда: СПб
Сообщений: 63 проверил на MS SQL
WHERE (вв LIKE ‘[0-9][0-9][0-9][^2]%’)
рабоает правильно и возращает все записи за исключением 2

На MS SQL — то наверняка все правильно будет работать, а ты попробуй посредством ADO к бд Access2000. Драйвер (провайдер) сов. другой.
13 янв 04, 18:20 [490084]

Re: Описание спецсимволов для LIKE в ADO ?
Senin Viktor
Member

Откуда: Подмосковье
Сообщений: 4087 >На MS SQL — то наверняка все правильно будет работать, а ты попробуй посредством ADO к бд Access2000. Драйвер (провайдер) сов. другой.

Для АДО (при работе с mdb) надо применять % и _. Для отрицания ! (оператор сравнения такой же как < >) ^ — этот знак для работы с mdb (формат Акес2002+ANSI SQL 92) и MS SQL.
Хотя действительно можно запутаться и в справке по этому поводу — тишина.
14 янв 04, 09:15 [490413]

Re: Описание спецсимволов для LIKE в ADO ?
Иван Абрамов
Member

Откуда: СПб
Сообщений: 63 А как конвертировать числовое поле в текстовое, чтобы использовать с LIKE?

В DAO я бы написал так
WHERE CSTR(NumericField1) LIKE ‘*51*’

А в ADO (при коннекте к бд MSAccess2000) как?
Что-то типа WHERE …NumericField1… LIKE ‘%51%’

Заранее спасибо.

I posted a question last week about using subqueries in Microsoft Query, and although my problem in that instance was not solved, I’ve found the problem to be much more basic than in that previous case.

I’m connected to an Informix database via ODBC trying in Microsoft Query (from Excel 2010) to perform a simple query, and am having a lot of trouble trying to get the syntax for subqueries correct. I have a feeling that MSQuery is getting hung up on some idiosyncrasy related to the Informix/ODBC source. My reason for thinking this is because if I try a very simple subquery using an Excel spreadsheet as my datasource, the following syntax works:

SELECT * FROM
(
SELECT x0.field1, x0.field2
FROM `C:USERSNAMEDIRECTORYTest.xlsx`.`Sheet1$` x0
)

However, when I try the same very simple query using a subquery from my Informix db,

SELECT * FROM
(
SELECT x0.id, x0.creation_date
FROM coastal.waybill x0
)

I get the error "Could not add the table '(select'." All I can surmise is that the syntax one uses in MSQuery has to be tailored to the data source. However, when I looked up Informix’s syntax for subqueries in the FROM clause I got even more confused, because it appears that I followed their syntax to a tee, since their example is:

SELECT LIMIT 1 * FROM 
   (SELECT c.customer_num, c.lname, c.company, 
           c.phone, u.call_dtime, u.call_descr
                 FROM customer c, cust_calls u
                 WHERE c.customer_num = u.customer_num
    ORDER BY u.call_dtime DESC);

I’m thoroughly lost. Any assistance would be greatly appreciated!

I posted a question last week about using subqueries in Microsoft Query, and although my problem in that instance was not solved, I’ve found the problem to be much more basic than in that previous case.

I’m connected to an Informix database via ODBC trying in Microsoft Query (from Excel 2010) to perform a simple query, and am having a lot of trouble trying to get the syntax for subqueries correct. I have a feeling that MSQuery is getting hung up on some idiosyncrasy related to the Informix/ODBC source. My reason for thinking this is because if I try a very simple subquery using an Excel spreadsheet as my datasource, the following syntax works:

SELECT * FROM
(
SELECT x0.field1, x0.field2
FROM `C:USERSNAMEDIRECTORYTest.xlsx`.`Sheet1$` x0
)

However, when I try the same very simple query using a subquery from my Informix db,

SELECT * FROM
(
SELECT x0.id, x0.creation_date
FROM coastal.waybill x0
)

I get the error "Could not add the table '(select'." All I can surmise is that the syntax one uses in MSQuery has to be tailored to the data source. However, when I looked up Informix’s syntax for subqueries in the FROM clause I got even more confused, because it appears that I followed their syntax to a tee, since their example is:

SELECT LIMIT 1 * FROM 
   (SELECT c.customer_num, c.lname, c.company, 
           c.phone, u.call_dtime, u.call_descr
                 FROM customer c, cust_calls u
                 WHERE c.customer_num = u.customer_num
    ORDER BY u.call_dtime DESC);

I’m thoroughly lost. Any assistance would be greatly appreciated!

I’m creating a parameterized query in Excel 2010 to get data from an Access 2010 database (data does reside in Access).

This is the query in Access:

SELECT [Patient Stat Sched Data Dump].[Pt Comp ID], [Patient Stat Sched Data Dump].Date,
       [Patient Stat Sched Data Dump].Gender, [Patient Stat Sched Data Dump].Age, 
       [Group Type].Description, Nz([Patient Stat Sched Data Dump].[Pt Dept ID],'EMPLOYEE') AS DeptID, 
       [App Type].Description AS [App Type], [Group Type].[Sort Order], [App Type].Provider, [App Type].[Time Allocated]
FROM ([App Type] 
        INNER JOIN [Patient Stat Sched Data Dump] ON [App Type].AType = [Patient Stat Sched Data Dump].Type) 
        LEFT JOIN [Group Type] ON [App Type].Group = [Group Type].Group
WHERE [Patient Stat Sched Data Dump].Status ="T"
ORDER BY [Patient Stat Sched Data Dump].[Pt Comp ID], [Patient Stat Sched Data Dump].Date

Thanks to Microsoft’s lovely bits of inconsistency, the brackets have to be changed to back-quotes for Query Builder, so this is what I’ve put in there:

SELECT `Patient Stat Sched Data Dump`.`Pt Comp ID`, `Patient Stat Sched Data Dump`.Date, 
       `Patient Stat Sched Data Dump`.Gender, `Patient Stat Sched Data Dump`.Age,
       `Group Type`.Description, Nz(`Patient Stat Sched Data Dump`.`Pt Dept ID`,'EMPLOYEE') AS DeptID, `App Type`.Description AS `App Type`, `Group Type`.`Sort Order`, `App Type`.Provider, `App Type`.`Time Allocated`
  FROM `App Type` 
        INNER JOIN `Patient Stat Sched Data Dump` ON `App Type`.AType = `Patient Stat Sched Data Dump`.Type
        LEFT JOIN `Group Type` ON `App Type`.Group = `Group Type`.Group
 WHERE `Patient Stat Sched Data Dump`.Status ="T"
ORDER BY `Patient Stat Sched Data Dump`.`Pt Comp ID`, `Patient Stat Sched Data Dump`.Date

And this is the error Query Builder returns:

Syntax error (missing operator) in query expression '`App Type`.AType = `Patient Stat Sched Data Dump`.Type LEFT JOIN `Group Type`.Group = `Group Type`.Grou'.

Yes, the final «p» is missing from the end of the statement, I assume that’s just a length limit on the error text, it is actually there in the code.

No, I don’t know why the person who designed the DB put all those spaces in the table (and query) names, I’ll have to look into removing them.

The query works just fine in Access, but doesn’t even get to the point of running in query builder — what am I missing?

I’m creating a parameterized query in Excel 2010 to get data from an Access 2010 database (data does reside in Access).

This is the query in Access:

SELECT [Patient Stat Sched Data Dump].[Pt Comp ID], [Patient Stat Sched Data Dump].Date,
       [Patient Stat Sched Data Dump].Gender, [Patient Stat Sched Data Dump].Age, 
       [Group Type].Description, Nz([Patient Stat Sched Data Dump].[Pt Dept ID],'EMPLOYEE') AS DeptID, 
       [App Type].Description AS [App Type], [Group Type].[Sort Order], [App Type].Provider, [App Type].[Time Allocated]
FROM ([App Type] 
        INNER JOIN [Patient Stat Sched Data Dump] ON [App Type].AType = [Patient Stat Sched Data Dump].Type) 
        LEFT JOIN [Group Type] ON [App Type].Group = [Group Type].Group
WHERE [Patient Stat Sched Data Dump].Status ="T"
ORDER BY [Patient Stat Sched Data Dump].[Pt Comp ID], [Patient Stat Sched Data Dump].Date

Thanks to Microsoft’s lovely bits of inconsistency, the brackets have to be changed to back-quotes for Query Builder, so this is what I’ve put in there:

SELECT `Patient Stat Sched Data Dump`.`Pt Comp ID`, `Patient Stat Sched Data Dump`.Date, 
       `Patient Stat Sched Data Dump`.Gender, `Patient Stat Sched Data Dump`.Age,
       `Group Type`.Description, Nz(`Patient Stat Sched Data Dump`.`Pt Dept ID`,'EMPLOYEE') AS DeptID, `App Type`.Description AS `App Type`, `Group Type`.`Sort Order`, `App Type`.Provider, `App Type`.`Time Allocated`
  FROM `App Type` 
        INNER JOIN `Patient Stat Sched Data Dump` ON `App Type`.AType = `Patient Stat Sched Data Dump`.Type
        LEFT JOIN `Group Type` ON `App Type`.Group = `Group Type`.Group
 WHERE `Patient Stat Sched Data Dump`.Status ="T"
ORDER BY `Patient Stat Sched Data Dump`.`Pt Comp ID`, `Patient Stat Sched Data Dump`.Date

And this is the error Query Builder returns:

Syntax error (missing operator) in query expression '`App Type`.AType = `Patient Stat Sched Data Dump`.Type LEFT JOIN `Group Type`.Group = `Group Type`.Grou'.

Yes, the final «p» is missing from the end of the statement, I assume that’s just a length limit on the error text, it is actually there in the code.

No, I don’t know why the person who designed the DB put all those spaces in the table (and query) names, I’ll have to look into removing them.

The query works just fine in Access, but doesn’t even get to the point of running in query builder — what am I missing?

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Microsoft office enterprise 2007 ошибка 1706
  • Microsoft office document imaging ошибка