Access - использование апострофа и кавычек в SQL

Чтобы SQL инструкцией внести в поле текст, который содержит апостроф ' или кавычки " следует поступать так:

INSERT INTO zv_RGD_about_post ( info, id_vodpoint, zvid_org ) VALUES ('Перевірка апострофу та лапок: об''ява в "лапках"', 0, 0)

Если запрос собирается в VBA, то:

strSQL = "INSERT INTO zv_RGD_about_post ( info, id_vodpoint, zvid_org ) VALUES ('Перевірка апострофу та лапок: об''ява в ""лапках""', 0, 0)"

В случае с VBA удобно будет использовать функцию:

... VALUES ('" & Replace(strTemp, "'", "''") & "') ...


===============

В продолжение темы. Для избежания проблем со строками при сборке SQL-запроса в VBA пользуюсь такой функцией:

Public Function TextSQLPrepare(val As String) As String
'val = Replace(val, "'", "`")
val = Replace(val, "'", "''")
val = Replace(val, "\""", """")
val = Replace(val, """", "\""")
TextSQLPrepare = val
End Function


Комментарии

Популярные сообщения из этого блога

Google Apps Script - Ввод и вывод значений

Access 2007 RunTime : Разрешаем все "макросы"

Access 2007 RunTime : "Неопределенная функция Format в выражении"