Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос sql на добавление текста ? / 9 сообщений из 9, страница 1 из 1
20.05.2016, 12:31
    #39239910
Quiet333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос sql на добавление текста ?
Есть база mdb A2003

На одной из кнопок запрос sql на добавление в том числе текста. Текст оформлен как положено
Код: plsql
1.
....'" & text & "' AS pole1....



Все работает прекрасно до тех пор, пока в тексте не появляется символ ' (для обозначения дюймов).

в этом случае Акс пишет "Ошибка синтаксиса (пропущен оператор)..."

Как с этим бороться? Ну кроме отказа от обозначения дюймов
...
Рейтинг: 0 / 0
20.05.2016, 12:43
    #39239933
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос sql на добавление текста ?
Удваивать символ.
Код: sql
1.
Replace(Replace(text, "'", "''"), """", """""")

Но ' (апрстроф) - это обозначение футов,
дюймы обозначаются знаком " (кавычка).
...
Рейтинг: 0 / 0
20.05.2016, 12:50
    #39239944
Запрос sql на добавление текста ?
__MichelleУдваивать символ.[src]
Replace(Replace(text, "'", "''"), """", """""") Michelle, дублировать в тексте надо символы, которыми текст обрамляется. В вашем примере произойдет дублирование кавычек во вставленном тексте, а это - лишнее.
...
Рейтинг: 0 / 0
20.05.2016, 12:53
    #39239950
Quiet333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос sql на добавление текста ?
__Michelle,

Но и апостроф и кавычка служебные символы (все равно как их обозвали футы или дюймы)

попробую удваивать... может поможет
...
Рейтинг: 0 / 0
20.05.2016, 13:07
    #39239969
Quiet333
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос sql на добавление текста ?
Заменил в тексте апостроф на кавычку (для правильного обозначения дюйма) - запрос сработал.

А что же делать если в тексте все-таки будут апострофы ?
...
Рейтинг: 0 / 0
20.05.2016, 13:11
    #39239978
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос sql на добавление текста ?
Quiet333Заменил в тексте апостроф на кавычку (для правильного обозначения дюйма) - запрос сработал.

А что же делать если в тексте все-таки будут апострофы ?Ну, как, "что делать?")))
Предварительный Replace апострофа на кавычку
Код: sql
1.
Replace(text, "'", """)
...
Рейтинг: 0 / 0
20.05.2016, 13:14
    #39239987
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос sql на добавление текста ?
Quiet333__Michelle,

Но и апостроф и кавычка служебные символы (все равно как их обозвали футы или дюймы)Фут и дюйм - разные единицы измерения, и обозначаются по-разному.
...
Рейтинг: 0 / 0
20.05.2016, 13:15
    #39239988
Volunteer
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Запрос sql на добавление текста ?
Лучше всего не формировать SQL выражения в виде текста, а создать запрос с параметрами и передавать строки с чем угодно через переменные. Иначе нужно все спецсимволы, которые могут попортить запрос либо убирать, либо заменять. В вашем случае нужно земенить апосторов на кавычку.
...
Рейтинг: 0 / 0
20.05.2016, 15:11
    #39240128
Запрос sql на добавление текста ?
Quiet333Заменил в тексте апостроф на кавычку (для правильного обозначения дюйма) - запрос сработал.

А что же делать если в тексте все-таки будут апострофы ? Не надо менять апостроф на кавычку! Если в запросе внутри строки, обрамленной апострофами задвоить апостроф, то в итоге ві получите тест с одним апострофом, что и требовалось. Такое же правило действует и с кавычками.
А вообще, надежнее открыть Recordset на нужной записи и внести изменения туда.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос sql на добавление текста ? / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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