powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Left в SQL инструкции перестал работать
18 сообщений из 18, страница 1 из 1
Left в SQL инструкции перестал работать
    #39860836
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Уважаемый форум,

Странная хрень: инструкция Left в SQL инструкции перестала работать и выдает ошибку "function is not available in expressions in query expression". Использую Access 365.

Код: sql
1.
db.Execute ("INSERT INTO ACC_PP SELECT * FROM TBL_TEMP_PP WHERE(Left(PP_MOPI_NO,2) in (" & user_country & "))"), dbSeeChanges, dbFailOnError



Все работало до виндового апдейта до Build 1809. Может кто знает, в чем проблема или как побороть?
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860850
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFKВсе работало до виндового апдейта до Build 1809. Может кто знает, в чем проблема или как побороть?
в первую очередь проверьте нет ли БИТЫХ ССЫЛОК на ворд или календарь
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860860
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
ПЕНСИОНЕРКАIFKВсе работало до виндового апдейта до Build 1809. Может кто знает, в чем проблема или как побороть?
в первую очередь проверьте нет ли БИТЫХ ССЫЛОК на ворд или календарь

Проверил в первую очередь - все нормально и все ссылки есть. Компиляция (Debug) тоже проходит без ошибок.
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860873
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFK,

возможно поле PP_MOPI_NO -пустое, null
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860876
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFK,

надо проверить и поле user_country
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860890
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFK,

я всегда логически делю строку запроса и проверяю сформированную строку
Код: vbnet
1.
2.
3.
4.
5.
6.
dim s1
s1="INSERT INTO ACC_PP 
s1=s1 & " SELECT * FROM TBL_TEMP_PP
s1=s1 & " WHERE(Left(PP_MOPI_NO,2) in (" & user_country & "))"
debug.print s1
db.Execute (s1), dbSeeChanges, dbFailOnError
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860894
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
ПЕНСИОНЕРКАIFK,

надо проверить и поле user_country

Нет, поле точно не пустое. А user_country - это переменная, которая формируется раньше и она тоже не пустая, в сообщении об ошибке явно видно, что переменная имеет корректное значение. Это я тоже проверил дополнительно через Debug.Print - все верно.
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860897
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
ПЕНСИОНЕРКАIFK,

я всегда логически делю строку запроса и проверяю сформированную строку
Код: vbnet
1.
2.
3.
4.
5.
6.
dim s1
s1="INSERT INTO ACC_PP 
s1=s1 & " SELECT * FROM TBL_TEMP_PP
s1=s1 & " WHERE(Left(PP_MOPI_NO,2) in (" & user_country & "))"
debug.print s1
db.Execute (s1), dbSeeChanges, dbFailOnError



Попробую, но не думаю, что поможет - функция Left никуда не девается же. :(
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860908
Фотография __Michelle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFK,

Посмотрите здесь https://daisaev.blogspot.com/2009/06/mid-left-right-format.html

Может, глупость, а может, и нет...

У меня так однажды функция Nz не работала.
Правда, в запросах ее давно не использую, делаю через IIf(... Is Null,...), но это к делу не относится.
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860939
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
__MichelleIFK,

Посмотрите здесь https://daisaev.blogspot.com/2009/06/mid-left-right-format.html

Может, глупость, а может, и нет...

У меня так однажды функция Nz не работала.
Правда, в запросах ее давно не использую, делаю через IIf(... Is Null,...), но это к делу не относится.

Странная фигня, но сработало. Спасибо! :)
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860956
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFK,
оригинально однако!
Access 97: в запросе не работают функции
Ну не работают функции в запросе: Mid, Left, Right, Format. Описание ошибки не поддаётся никакому описанию, просто бред какой-то. Они ему посвятили целый KB! И я здесь напишу, т.к. этот KB я нашёл с огромным трудом.

Итак: в редакторе VBA заходим в Tools - References (Сервис - Ссылки). Выбираем любой компонент, который нам совершенно не нужен и потому не отмечен. Отмечаем его! Нажимаем ОК. Снова открываем это окошко. Убираем галочку напротив этого компонента. Убираем-убираем, так надо! Нажимаем ОК. Всё! Какие-то там ссылки обновились... Mid работает!
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860957
IFK, у вас в user_country несколько значений через "," или только одно?
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860977
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
ПЕНСИОНЕРКАIFK,
оригинально однако!
Access 97: в запросе не работают функции
Ну не работают функции в запросе: Mid, Left, Right, Format. Описание ошибки не поддаётся никакому описанию, просто бред какой-то. Они ему посвятили целый KB! И я здесь напишу, т.к. этот KB я нашёл с огромным трудом.

Итак: в редакторе VBA заходим в Tools - References (Сервис - Ссылки). Выбираем любой компонент, который нам совершенно не нужен и потому не отмечен. Отмечаем его! Нажимаем ОК. Снова открываем это окошко. Убираем галочку напротив этого компонента. Убираем-убираем, так надо! Нажимаем ОК. Всё! Какие-то там ссылки обновились... Mid работает!

Ага, я просто подключил еще одну библиотеку расширений для АДО, которой, впрочем, не пользовался до этого. Не знаю, почему, но, это сработало и ошибку больше не выбрасывает, все отрабатывает, как и раньше.

Вполне может быть, что при подсоединении/отсоединении библиотеки происходит обновление путей/связей для всех подключенных библиотек и поэтому все работает.
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860978
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Кривцов АнатолийIFK, у вас в user_country несколько значений через "," или только одно?

Несколько, формат правильный - я проверял через Debug.Print.
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860988
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
IFKНесколько, формат правильный - я проверял через Debug.Print.
сомневаюсь
- LEFT возвращает текст
- в user_country же непонятно как введены апострофы
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39860994
IFKКривцов АнатолийIFK, у вас в user_country несколько значений через "," или только одно? Несколько, формат правильный - я проверял через Debug.Print.
Это я к тому, что фильтрация по вычисляемому полю или результату функции всегда работает медленней, чем непосредственно по полям. Если вы формируете запрос в коде, то для сравнения можно попробовать вариант:

WHERE(PP_MOPI_NO Like 'RU*' OR PP_MOPI_NO Like 'US*')
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39861093
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
ПЕНСИОНЕРКАIFKНесколько, формат правильный - я проверял через Debug.Print.
сомневаюсь
- LEFT возвращает текст
- в user_country же непонятно как введены апострофы

а я не сомневаюсь: там правильно введены апострофы, проверял в окне через Debug.Print инструкции - переменная сформирована и подставлены значения правильно. Я сначала тоже на эту часть грешил, перепроверил 2 раза, все правильно.
...
Рейтинг: 0 / 0
Left в SQL инструкции перестал работать
    #39861096
IFK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
IFK
Гость
Кривцов АнатолийIFKпропущено...
Несколько, формат правильный - я проверял через Debug.Print.
Это я к тому, что фильтрация по вычисляемому полю или результату функции всегда работает медленней, чем непосредственно по полям. Если вы формируете запрос в коде, то для сравнения можно попробовать вариант:

WHERE(PP_MOPI_NO Like 'RU*' OR PP_MOPI_NO Like 'US*')

Можно, но смысла нет, потому что я формирую переменную до самой SQL команды и она строковая. Кроме того, через лайк не пройдет, потому что мне нужно сравнить только часть строкового значения поля PP_MOPI_NO с переменной, а не наоборот, когда берется полное значение PP_MOPI_NO и сравнивается с частью строковой переменной.

Вообще, если бы была ошибка в этой части, Аксес отреагировал бы синтаксической ошибкой.
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Left в SQL инструкции перестал работать
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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