![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Всем снова привет - проблема с Query
Perf2k2 © (2005-10-19 12:58:00)Есть база данных Access, подрублена через BDE. Есть запрос:[code] "SELECT crm_dela.*, crm_clients.*, crm_users.*, crm_sk.*
FROM (((crm_dela LEFT JOIN crm_users ON crm_dela.delo_user_add = crm_users.user_id) INNER JOIN
crm_sk ON crm_dela.delo_sk = crm_sk.sk_id) INNER JOIN crm_clients ON crm_dela.delo_client = crm_clients.client_id)
WHERE crm_clients.client_fio LIKE '*Сок*' AND crm_sk.sk_name LIKE '**' AND crm_dela.delo_avto LIKE '**'
ORDER BY delo_num DESC
"[/code]
Если этот запрос ввести прямо в оболочке Аксеса (создать новый запрос), то он выдаст все как надо. А вот если его ввести в Query.Sql.Text, то ничего не выдается. А вот если убрать и запроса WHERE, то и в SQL все начинает выдаваться. Вот только смысл тогда этого Query напрочь теряется... :(
Буду признателен за любую помощь.
sniknik (2005-10-19 13:50:00) [1]> % - это вроде стандарт SQL. * - мелкомягкая придумка. Почему? А ХЗ. У них часто так.
хелп по jet:
Сравнение языка SQL ядра базы данных Microsoft Jet и ANSI SQL
Язык SQL ядра базы данных Microsoft Jet в основном соответствует стандарту ANSI-89 (уровень 1). Однако некоторые средства ANSI SQL не реализованы в языке SQL ядра Microsoft® Jet. Начиная с выпусков ядра Microsoft Jet версий 4.X, программа Microsoft OLE DB Provider для Jet использует дополнительно синтаксис ANSI-92 SQL. И наоборот, язык SQL ядра Microsoft Jet использует зарезервированные слова и средства, не поддерживаемые ANSI SQL
Основные различия
.....
Соответствующие знаки Язык SQL Microsoft Jet ANSI SQL
Любой одиночный знак. ? _ (подчеркивание)
Произвольное количество знаков. * %
.....
в самом access (программе) в "сервис-параметры-таблици и запросы" есть пункт "синтаксис для sql-сервер (ANSI-92)"...
т.е. есть 2 режима работы, оба поддерживаются (теоретически), и если поставить там галку то access должен поменять стиль (... возможно.... на практике не пробовал)
Sergey13 (2005-10-19 13:26:00) [2]2[2] Perf2k2 © (19.10.05 13:19)
% - это вроде стандарт SQL. * - мелкомягкая придумка. Почему? А ХЗ. У них часто так.
Perf2k2 (2005-10-19 13:19:00) [3]Спасибо! Сработало. А почему именно так? Ведь я же работаю из Делфи с Аксесом, а не с какой-то базой Делфи, у которой язык SQL-запросов не такой, как в Аксесе. Ведь Делфи по сути является только проводником запросов и с ними работать не должна по-своему. Или я чего не понимаю?
Sergey13 (2005-10-19 13:08:00) [4]2Perf2k2 © (19.10.05 12:58)
Попробуй в делфи '*' заменить на '%'.