powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка при запросе с like
15 сообщений из 15, страница 1 из 1
Ошибка при запросе с like
    #37720383
puma_q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть код:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & ActiveWorkbook.FullName & ";" & "Extended Properties=Excel 8.0"
rst.Open "SELECT [name],[id] FROM [Лист1$] where [name] like '" & TextBox1.Value & "%';", cnn, adOpenStatic

Worksheets("Лист2").Activate
Columns("A:B").Delete Shift:=xlToLeft
Sheets("Лист2").Range("A1").CopyFromRecordset rst
rst.Close
Set rst = Nothing
cnn.Close
Set cnn = Nothing


При открытии запроса появляется ошибка:
Run-time error '-2147217900': Неизвестный.

А если писать:
Код: vbnet
1.
rst.Open "SELECT [name],[id] FROM [Лист1$] where [name] = '" & TextBox1.Value & "';", cnn, adOpenStatic 


то всё нормально, скрипт отрабатывает...

В чём может быть дело? Или при обращении к
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720400
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
% не там залепил, надо его внутри кавычек литерала...
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720402
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ещё лучше - сформируйте сначала текст запроса в переменной, а потом покажите получившееся содержимое. Так попроще будет...
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720436
puma_q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот... и если даже без переменной использовать, то ошибка таже возникает....
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & ActiveWorkbook.FullName & ";" & "Extended Properties=Excel 8.0"
strSQL = "SELECT [name],[id] FROM [Лист1$] where [name] like 'муфта%'"
Debug.Print strSQL
rst.Open strSQL, cnn, adOpenStatic

Worksheets("Лист2").Activate
Columns("A:B").Delete Shift:=xlToLeft
Sheets("Лист2").Range("A1").CopyFromRecordset rst

rst.Close
Set rst = Nothing
cnn.Close
Set cnn = Nothing



Debug.Print strSQL=SELECT [name],[id] FROM [Ëèñò1$] where name like 'муфта%'
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720439
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процент на звездочку поменяй.
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720458
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
puma_q,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
dim s1
'----кавычка
s1=replace(TextBox1.Value,"'","?")    
'---двойная кавычка
s1=replace(TextBox1.Value,"'","?")

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & ActiveWorkbook.FullName & ";" & "Extended Properties=Excel 8.0"
rst.Open "SELECT [name],[id] FROM [Лист1$] where [name] like '" & s1 & "%';", cnn, adOpenStatic
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720464
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не ту кавычку влепила
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
dim s1
'----кавычка
s1=replace(TextBox1.Value,"'","?")    
'---двойная кавычка
s1=replace(TextBox1.Value,"""","?")

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & ActiveWorkbook.FullName & ";" & "Extended Properties=Excel 8.0"
rst.Open "SELECT [name],[id] FROM [Лист1$] where [name] like '" & s1 & "%';", cnn, adOpenStatic
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720472
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что за напасть, второй раз ошиблась
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
dim s1
'----кавычка
s1=replace(TextBox1.Value,"'","?")    
'---двойная кавычка
s1=replace(s1,"""","?")

cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & ActiveWorkbook.FullName & ";" & "Extended Properties=Excel 8.0"
rst.Open "SELECT [name],[id] FROM [Лист1$] where [name] like '" & s1 & "%';", cnn, adOpenStatic
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720522
puma_q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ошибка не возникает, но ничего не находит...
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720559
qwerty112
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
puma_qОшибка не возникает, но ничего не находит...

муфту свою - с большой буквы напиши

зы
только вот как ты это сумел сделать ??
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37720615
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
puma_q,

работает
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37722686
puma_q
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день... Спасибо за помощь, но проблема с ошибкой осталась (см. файл):

При открытии запроса появляется ошибка:
Run-time error '-2147217900': Неизвестный.

Сам скрипт работает нормально, даже без использования дополнительного кода:
Код: vbnet
1.
2.
3.
4.
5.
dim s1
'----кавычка
s1=replace(TextBox1.Value,"'","?")    
'---двойная кавычка
s1=replace(s1,"""","?")



Ошибка не возникает если удалить строки со 2 по 43 на листе Лист1, в противном случае появляется ошибка... В этих строках нет ничего такого что могло повлиять на запрос...
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37722949
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
puma_q,

44 строка имеет длину больше 254, по-этому ексель считает столбец --общим
до 254 ---столбец будет считаться текстовым

видимо для столбцов разная обработка

п.с. перенеси строку 44 в начало
--или жестко забей строку 2 на длинный текстовик(>254)
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37722981
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А так?
...
Рейтинг: 0 / 0
Ошибка при запросе с like
    #37723009
R Dmitry
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Все зависит от версии драйвера, для 2007-2010 мой код будет отрабатывать корректно, для более ранних версий надо использовать совет ПЕНСИОНЕРКИ.
Jet не хочет работать ACE.OLEDB прекрастно справляется с задачей.
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка при запросе с like
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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