Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не работает условие LIKE через MS Jet 4.0 / 24 сообщений из 24, страница 1 из 1
02.07.2004, 13:10:42
    #32586990
Shurik777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Существует некая база в Акцессе. В ней таблица.В таблице текстовое поле.

Случай первый:
1.Создаем connection
2.Создаем recordset
Код: plaintext
1.
rst.Open "select pole1 from tablica where (pole like '*31*')", cnn
рекордсет пустой !!!

Случай второй:
1.В акцессе создаем запрос:
select pole1 from tablica where (pole like '*31*')
запускаем ОК! Записей немерено (238)
2.Создаем connection
3.Создаем recordset
Код: plaintext
1.
rst.Open "select * from zapros1", cnn
рекордсет пустой !!!

То-ли лыжи не едут, то-ли я? В чем загвоздка?

ADO 2.8; Jet 4.0; Access 2000; VB 6
...
Рейтинг: 0 / 0
02.07.2004, 13:18:15
    #32587011
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Наверно, надо заменить * на %.
...
Рейтинг: 0 / 0
02.07.2004, 13:19:25
    #32587013
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Предположу - может стоит заменить * на %
?
...
Рейтинг: 0 / 0
02.07.2004, 13:22:40
    #32587021
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Телепатия. :^)
...
Рейтинг: 0 / 0
02.07.2004, 13:25:39
    #32587028
Shurik777
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Спасибо Владимир Саныч, paparome!
А ларчик просто открывался :)
Пардон, видать меня заклинило :)
...
Рейтинг: 0 / 0
02.07.2004, 13:32:18
    #32587047
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
А у меня вопрос ко всем. Я хочу добавить это дело в факи, но не знаю точного ответа: когда именно вместо * и ? используются % и _? Это переход от DAO к ADO или что-то еще?
...
Рейтинг: 0 / 0
02.07.2004, 13:47:02
    #32587100
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Владимир СанычА у меня вопрос ко всем. Я хочу добавить это дело в факи, но не знаю точного ответа: когда именно вместо * и ? используются % и _? Это переход от DAO к ADO или что-то еще?
ADO 2.5, АксXP, mdb - надо звезточки ставить
При работе с сиквелом (adp) - % (ну это и так понятно)

Предположение - может это от Jet зависит?
Кстати как посмотреть его версию?
...
Рейтинг: 0 / 0
02.07.2004, 13:47:58
    #32587104
Serge Gavrilov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
авторЭто переход от DAO к ADO или что-то еще?
Это еще Tools - Option - Tables/Queries Tab - SQL Server Compatible Syntax (ANSI 92)
...
Рейтинг: 0 / 0
02.07.2004, 13:55:27
    #32587130
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Serge Gavrilov авторЭто переход от DAO к ADO или что-то еще?
Это еще Tools - Option - Tables/Queries Tab - SQL Server Compatible Syntax (ANSI 92)
Опа - и правда :)
Дык - может все дело в этой галочке?
...
Рейтинг: 0 / 0
02.07.2004, 14:29:45
    #32587237
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
а справку почитать слабо?

Сравнение языка 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 имеют разные наборы зарезервированных слов и типов данных. Более подробные сведения содержатся в разделах Зарезервированные слова SQL ядра базы данных Microsoft Jet и Эквивалентные типы данных ANSI SQL. При использовании программы Microsoft OLE DB Provider для Jet вместе с ядром Jet версии 4.X доступны дополнительные зарезервированные слова.
Разные правила применимы к оператору Between...And, имеющему следующий синтаксис:
выражение [NOT] Between значение_1 And значение_2

В языке SQL Microsoft Jet значение_1 может превышать значение_2; в ANSI SQL значение_1 должно быть меньше или равно значение_2.

Язык SQL ядра Microsoft Jet поддерживает использование в операторе Like как подстановочных знаков ANSI SQL, так и подстановочных знаков ядра Microsoft Jet. Подстановочные знаки ANSI и ядра Microsoft Jet взаимно исключают друг друга. Следует пользоваться одним из наборов таких знаков, не смешивая их. Подстановочные знаки ANSI SQL доступны только в случае использования ядра Jet версии 4.X и программы Microsoft OLE DB Provider для Jet. При работе с приложениями Microsoft Access или DAO подстановочные знаки ANSI SQL воспринимаются как строковые константы. Обратное имеет место при использовании программы Microsoft OLE DB Provider для Jet и ядра Jet версии 4.X.


Соответствующие знаки Язык SQL Microsoft Jet ANSI SQL
Любой одиночный знак. ? _ (подчеркивание)
Произвольное количество знаков. * %


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

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

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

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

Зарезервированное слово DISTINCT в качестве описания аргумента статистической функции. Например, в языке SQL Microsoft Jet нельзя использовать выражение SUM(DISTINCT имяСтолбца).
Предложение LIMIT TO nn ROWS, используемое для ограничения количества строк, возвращаемых в результате выполнения запроса. Для ограничения количества возвращаемых запросом строк можно использовать только предложение WHERE.
См. также
Эквивалентные типы данных ANSI SQL Зарезервированные слова SQL ядра базы данных Microsoft Jet
Оператор Like (язык SQL Microsoft Jet) Статистические функции SQL (язык SQL)
Типы данных SQL ядра базы данных Microsoft Jet Использование подстановочных знаков при сравнении строк
...
Рейтинг: 0 / 0
02.07.2004, 14:37:12
    #32587259
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
2 ищ:

Ответ, конечно, длинный, но вопрос все равно остается. Чем определяется выбор между двумя стандартами языка SQL?
...
Рейтинг: 0 / 0
02.07.2004, 15:17:02
    #32587376
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
разработчиком
...
Рейтинг: 0 / 0
02.07.2004, 15:29:18
    #32587406
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
из справки

режим ANSI SQL-92
Режим учитывающий расширенный синтаксис SQL и обеспечивающий большую совместимость с SQL-92 и Microsoft® SQL Server™. Этот режим доступен только в случае использования программы Microsoft OLE DB Provider для Jet. Его невозможно установить с помощью объектов доступа к данным (DAO). Новые средства относятся преимущественно к языку определения данных (DDL). Поддержка подстановочных знаков ANSI, т.е. знак процента (%) и символа подчеркивания (_), также является частью режима ANSI SQL-92.
...
Рейтинг: 0 / 0
02.07.2004, 15:34:37
    #32587429
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
То есть начиная с какой-то версии Аксесса можно переключаться между этими двумя режимами произвольно? Или тоже нет? В adp вроде нельзя?
...
Рейтинг: 0 / 0
02.07.2004, 15:48:17
    #32587461
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
по моему с версии а2000(нет под рукой, надоть утонить)
в adp уже исп.
...
Рейтинг: 0 / 0
02.07.2004, 15:52:34
    #32587475
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Кто такой исп?
...
Рейтинг: 0 / 0
02.07.2004, 16:19:04
    #32587551
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
cv. справку
Работа с запросами->Работа в режиме запроса ANSI SQL
...
Рейтинг: 0 / 0
02.07.2004, 16:27:31
    #32587578
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Что такое уже исп?
...
Рейтинг: 0 / 0
02.07.2004, 16:39:27
    #32587616
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
используется.
прям допрос какой-то.
поставьте мне 3 и я пойду.
...
Рейтинг: 0 / 0
02.07.2004, 16:43:04
    #32587629
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Используется кто? С 2000-го можно переключаться между двумя режимами, а в adp - что? Если что-то знаешь, то говори. Если нет, то так и быть.
...
Рейтинг: 0 / 0
02.07.2004, 16:59:51
    #32587667
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
В adp менять нельзя - он просто использует синтаксис MSSQL, ибо все запросы исполняются на сервере, а сервер понимает только %
...
Рейтинг: 0 / 0
02.07.2004, 17:09:42
    #32587691
ищ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
папа римский, давай зачетку. 5 баллов.
...
Рейтинг: 0 / 0
02.07.2004, 17:12:17
    #32587698
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
Логично. Мне 2.
...
Рейтинг: 0 / 0
05.07.2004, 08:42:59
    #32588712
paparome
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает условие LIKE через MS Jet 4.0
ищпапа римский, давай зачетку. 5 баллов.
Моя балдеть :)
Сам ищ мне пятерку поставил :)
В кои-то веки :)

УРА!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Не работает условие LIKE через MS Jet 4.0 / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]