Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Оператор Like Добавлено: 27.12.06 13:47  

Автор вопроса:  Иван | Web-сайт: www.harami.ru
Дорогие друзья,
Может ли кто-нибудь объяснить, почему совершенно корректные инструкции SQL, прекрасно работающие в Access, не работают с рекордсетом в VB, если они содержат оператор Like?

'Например, такая инструкция не найдет ни одной записи:
SELECT * FROM myTable WHERE Field1 Like '*текст*'

'В то же время она хорошо сработает как фильтр:
myRecordset.Filter = (Field1 Like '*текст*')

'А инструкция Not Field1 Like '*текст*' вообще не работает: в WHERE даст неправильные

результаты выборки, а в Filter — сообщение об ошибке.
'В чем тут дело?

Вопрос № 2. Как избавиться от контекстного меню, появляющегося на текст-боксах по щелчку правой кнопкой? Хочу заменить это меню своим собственным, но ничего не выходит.

Заранее благодарен и с Новым годом!

Ответить

  Ответы Всего ответов: 3  

Номер ответа: 1
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #1 Добавлено: 27.12.06 15:21
Может ли кто-нибудь объяснить, почему совершенно корректные инструкции

Потому что ничего корректного в этих инструкциях нет. Потому что надо читать документацию, а уже потом делать выводы о том, что инструкции корректны. Потому что в ADO символы шаблона % и _, а не * и ?.

myRecordset.Filter = (Field1 Like '*текст*')

Это эквивалентно строке myRecordset.Filter = "True".
Правильно было бы myRecordset.Filter = "Field1 Like '*текст*'", но кому интересна документация?

А инструкция Not Field1 Like '*текст*' вообще не работает: в WHERE даст неправильные результаты выборки

См. выше.

а в Filter — сообщение об ошибке

Кури маны, наконец. Пора. Наступил предел насыщения.
NOT не входит в число разрешённых операторов для Filter.


Как избавиться от контекстного меню, появляющегося на текст-боксах по щелчку правой кнопкой?

По здравому размышлению, на этот вопрос отвечать не буду. Слишком избит и затаскан.

Ответить

Номер ответа: 2
Автор ответа:
 Lion



ICQ: 367220539 

Вопросов: 13
Ответов: 55
 Web-сайт: lammeru.net
 Профиль | | #2
Добавлено: 15.01.07 09:11
 Вместо значка '*слово*' надо '%слово%'
 и все прекрасно работает!

Ответить

Номер ответа: 3
Автор ответа:
 AgentFire



ICQ: 192496851 

Вопросов: 75
Ответов: 3178
 Профиль | | #3 Добавлено: 17.01.07 00:15
Вообще-то, GSerg так и сказал.

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам