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

Случай первый:
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
Не работает условие LIKE через MS Jet 4.0
    #32587011
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Наверно, надо заменить * на %.
...
Рейтинг: 0 / 0
Не работает условие LIKE через MS Jet 4.0
    #32587013
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предположу - может стоит заменить * на %
?
...
Рейтинг: 0 / 0
Не работает условие LIKE через MS Jet 4.0
    #32587021
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Телепатия. :^)
...
Рейтинг: 0 / 0
Не работает условие LIKE через MS Jet 4.0
    #32587028
Shurik777
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо Владимир Саныч, paparome!
А ларчик просто открывался :)
Пардон, видать меня заклинило :)
...
Рейтинг: 0 / 0
Не работает условие LIKE через MS Jet 4.0
    #32587047
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А у меня вопрос ко всем. Я хочу добавить это дело в факи, но не знаю точного ответа: когда именно вместо * и ? используются % и _? Это переход от DAO к ADO или что-то еще?
...
Рейтинг: 0 / 0
Не работает условие LIKE через MS Jet 4.0
    #32587100
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир СанычА у меня вопрос ко всем. Я хочу добавить это дело в факи, но не знаю точного ответа: когда именно вместо * и ? используются % и _? Это переход от DAO к ADO или что-то еще?
ADO 2.5, АксXP, mdb - надо звезточки ставить
При работе с сиквелом (adp) - % (ну это и так понятно)

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

Сравнение языка 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
Не работает условие LIKE через MS Jet 4.0
    #32587259
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
2 ищ:

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

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

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


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