Raven B.
Ты хочешь предотвратить sql-инъекцию? Стандартных функций для этого не припомню. Вообще имхо надо не sql запрос обрабатывать, а те строки, из которых он составляется. "Опасными" будут знаки кавычек, которые используются в запросе для обозначения строковых литералов (в Access я использую исключительно ", хотя допускается и '); и достаточно заменить одну кавычку на две в той строке, которая используется в запросе. Например:
Код:
s = "SELECT * FROM T WHERE T.str_f LIKE """ & mystr & """"
Здесь в строке mystr надо "задвоить" кавычки. Для этого используем такую функцию:
Код:
Public Function DoubleQuotesInStr(ByVal str As String) As String
' Заменить каждый знак двойной кавычки ('"') в строке str на два таких знака ('""')
Dim i As Integer
i = 1
Do
i = InStr(i, str, """", vbBinaryCompare)
If i > 0 Then
str = Mid(str, 1, i) & """" & Mid(str, i + 1)
i = i + 2
Else
Exit Do
End If
Loop
DoubleQuotesInStr = str
End Function
Код, создающий текст запрос, перепишется так:
Код:
s = "SELECT * FROM T WHERE T.str_f LIKE """ & _
DoubleQuotesInStr(mystr) & """"
Можешь также использовать запросы с параметрами, они, насколько помню, не подвержены sql-инъекции.