Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Ошибка при запросе с like / 15 сообщений из 15, страница 1 из 1
23.03.2012, 16:26
    #37720383
puma_q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
Есть код:
Код: 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
23.03.2012, 16:31
    #37720400
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
% не там залепил, надо его внутри кавычек литерала...
...
Рейтинг: 0 / 0
23.03.2012, 16:32
    #37720402
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
А ещё лучше - сформируйте сначала текст запроса в переменной, а потом покажите получившееся содержимое. Так попроще будет...
...
Рейтинг: 0 / 0
23.03.2012, 16:52
    #37720436
puma_q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
Вот... и если даже без переменной использовать, то ошибка таже возникает....
Код: 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
23.03.2012, 16:52
    #37720439
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
Процент на звездочку поменяй.
...
Рейтинг: 0 / 0
23.03.2012, 17:01
    #37720458
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
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
23.03.2012, 17:03
    #37720464
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
не ту кавычку влепила
Код: 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
23.03.2012, 17:07
    #37720472
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
что за напасть, второй раз ошиблась
Код: 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
23.03.2012, 17:32
    #37720522
puma_q
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
Ошибка не возникает, но ничего не находит...
...
Рейтинг: 0 / 0
23.03.2012, 17:52
    #37720559
qwerty112
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка при запросе с like
puma_qОшибка не возникает, но ничего не находит...

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

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

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

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

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



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

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

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

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


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