Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Delphi: Базы данных > Запрос к базе данных


Автор: Myrus 10.12.17, 16:09
Добрый день.

Есть база данных на SQL сервере, крутится вертится, но не устраивает мобильность. Хочется иметь файл с базой данных, без всяких поднятий SQL. Решил попробовать поработать с Access 2016 через ADO. Создал базу, перенес с базы SQL необходимые таблицы. Подключился к ней вроде все ок.

Теперь не могу разобраться с запросами.
В SQL спокойной отправляю запрос типа:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    SELECT DISTINCT VKEY, MODELYEAR_ID, TYPE_ID, KIND_ID
    FROM VEHICLE_EXT JOIN MODELYEAR_MAS ON MODELYEAR_ID = ID
    JOIN TYPE_MAS ON TYPE_ID = TYPE_ID
    JOIN KIND_MAS KIND ON KIND_ID = KIND.ID
    WHERE MODELYEAR = 2016 AND TYPE = 'GF3W' AND KIND = 'XTHHZL6Z'

И получаю ответ.

Попробовал точно такой же код в Access, ругается на JOIN. Как я понимаю нет связи в таблицах или как ?
Попробовал разложить на более простые запросы:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    SELECT ID FROM MODELYEAR_MAS WHERE MODELYEAR = 2016
    SELECT ID FROM TYPE_MAS WHERE TYPE = 'GF3W'
    SELECT ID FROM KIND_MAS WHERE KIND = 'XTHHZL6Z'
    SELECT VKEY FROM VEHICLE_EXT WHERE TYPE_ID = 332 AND KIND_ID = 1414 AND MODELYEAR_ID = 13

Ответ получил верный.

Автор: Myrus 12.12.17, 10:34
Может кто подсказать ?

Автор: MIF 12.12.17, 10:38
В аксессе каждый JOIN надо обертывать в скобки. Попробyй использовать построитель запросов (query builder).

Автор: Myrus 12.12.17, 14:48
Спасибо, попробую разобраться.

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)