LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Глюк в си...
 Тема: Глюк в синтаксисе Recordset.FindFirst
 
 15.06.2007 21:09:45
leonid2
3 сообщения


Тема: Глюк в синтаксисе Recordset.FindFirst
Глюк в синтаксисе VBA при обращении к методу Recordset.FindFirst при поиске слов, которые содержат знак апострофа < ' > или < " >

Пример:
Dim rst As DAO.Recordset

Dim s_Field As String 'имя поля
Dim s_Criteria As String 'строка поиска
Dim s_Find As String 'общее условие для поиска

'открываю записи
Set rst = CurrentDb.OpenRecordset("tmpProf", dbOpenDynaset)

s_Field = "DisName"
s_Criteria = "Комп'ютер"

'формирую условие для строки поиска
s_Find = s_Field & "=" & Chr(39) & s_Criteria & Chr(39)

'применяю сам поиск
rst.FindFirst s_Find

в итоге ошибка 3077, "Ошибка синтаксиса (пропущен оператор) в выражении."
Если забираю в строке поиска < s_Criteria > в слове "Комп'ютер" знак апострофа < ' >, проблем нет, все работает.

Переменная s_Criteria формируется динамически, и слов с апострофом встречается много.
Если в кого-то возникала подобная ситуация, и был найден путь решения – помогите!!
С уважением. Леонид.



P.S. Доступ к базе с помощью ADO и DAO
Автор: Leonid от 30.09.2005 19:00:51 Источник ...
 15.06.2007 21:09:46
All
4316 сообщения
1-ый


RE: Глюк в синтаксисе Recordset.FindFirst
Прежде, чем подставлять в запрос в текстовую строку, необходимо "задваивать" управляющие символы: Replace(s, "'", "''")


P.S. Доступ к базе с помощью ADO и DAO
Автор: Admin от 0:00:00 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Глюк в си...
ПоискПоиск  Список форумовСписок форумов  
right