IMHO.WS

IMHO.WS (http://www.imho.ws/index.php)
-   Программирование (http://www.imho.ws/forumdisplay.php?f=40)
-   -   Помогите разобратся почему не работает запрос, пожалуста. (VBA,Access,MySQL) (http://www.imho.ws/showthread.php?t=94753)

Raven B. 25.10.2005 12:26

Помогите разобратся почему не работает запрос, пожалуста. (VBA,Access,MySQL)
 
Доброго времени суток.
Есть таблица с двумя полями.
Цитата:

ph_f_n_t
---------------
ph_f_n
ph_f_id
Пытаюсь выбрать по куску слова введеному в текстбокс релевантные вхождения.
Набрал вполне рабочий sql запрос.
[quote]
sql_q = "select ph_f_id from ph_f_n_t where ph_f_n like BINARY '%" & se_input.value & "%' order by ph_f_n "
Set rst = dbs.OpenRecordset(sql_q, dbOpenForwardOnly, dbReadOnly)
[quote]
получил совершенно необьямнимую ошибку:
Цитата:

Run-Time Error '3075'
Syntax error (missing operator) in query expression 'ph_f_n like BINARY '%Ш%''
Немогу понять что за оператора ему не хватает. Вроде все на месте...
Запрос выглядит как :
Цитата:

select ph_f_id from ph_f_n_t where ph_f_n like BINARY '%Ø%' order by ph_f_n
Вобщем загадочно. Поможете разобратся ? :help:

LightImage 25.10.2005 12:43

Насколько можно судить, ph_f_n_t -- это присоединенная таблица в Access, и запрос обрабатывается там же. Стало быть, надо использовать синтаксис Jet SQL. То есть выкинуть из запроса слово BINARY. Также лучше заменить "%" на "*", ибо в справке сказано
Цитата:

Важное замечание: такие подстановочные знаки ANSI SQL, как (%) и (_), доступны только при использовании ядра Microsoft® Jet версии 4.X и программы Microsoft OLE DB Provider для Jet. При работе с приложениями Microsoft Access или DAO эти подстановочные знаки воспринимаются как строковые константы.

Raven B. 25.10.2005 14:32

Спасибо ! Замечательно работает.
Тема закрыта.


Часовой пояс GMT +4, время: 07:59.

Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.