Поиск Б/Д

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Поиск Б/Д

Сообщение kuhtiov » 20.11.2006 (Пн) 8:35

Вопрос связанный с Б/Д
Фигня в следующим:
Есть переменные: Razdel$,Podrazdel$,KeyWord$
где Razdel$-раздел
Podrazdel$-подраздел
KeyWord$-ключевое слово

Пишу поиск:

if Razdel$ = Text1 then if Podrazdel$ = Text2 then if KeyWord$ = Text3 then Print "Ok" ELSE Print "}{er"

Хочется чтобы было не KeyWord$ = Text3 а KeyWord$ (приблизительно равно) Text3, т.е. искал не по всему выражению, а по встретившемуся слову. Как осуществить?

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 20.11.2006 (Пн) 9:25

может попробывать :?
Код: Выделить всё
if InStr(KeyWord$,Text3.text) > 0 then Print "Ok" ELSE Print "}{er"

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Сообщение kuhtiov » 20.11.2006 (Пн) 9:39

shady писал(а):может попробывать :?
Код: Выделить всё
if InStr(KeyWord$,Text3.text) > 0 then Print "Ok" ELSE Print "}{er"


Если я не ошибаюсь, при таком раскладе он будет писать Ok, при любом значении Text3 не равным "" или я не прав?

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 20.11.2006 (Пн) 9:59

функция ищет вхождение строки Text3.text в строку KeyWord$ целиком.
т.е. если строка KeyWord$ ="Привет", а Text3.text="Привод" InStr вернет 0, тем самым Print "}{er"

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Сообщение kuhtiov » 20.11.2006 (Пн) 10:09

Нет, не то. Text3 есть ничто иное как значение ячейки базы данных. Т.е. тупо так
For i = 1 to колво строк в табл
стррока = строка + 1
if Razdel$ = Text1 then if Podrazdel$ = Text2 then if KeyWord$ = Text3 then Print "Ok" ELSE Print "}{er"
Next i
т.е значенй Text(X) несколько, они меняются несколько раз! Нужно найти похожее выражение!

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 20.11.2006 (Пн) 10:24

А Вы уверены, что SQL запрос, не подойдет для таких целей?

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Сообщение kuhtiov » 20.11.2006 (Пн) 11:06

нет, не уверен. Я просто не сообразил по книжке как сделать запрос. Поэтому решил пойти таким путем. Напмшите плиз хоть на какую букву в поиске искать. Или так подскажите

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 20.11.2006 (Пн) 11:35

Искать SELECT, LIKE, WHERE, IN и т.д.
Последний раз редактировалось shady 20.11.2006 (Пн) 12:00, всего редактировалось 1 раз.

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Сообщение kuhtiov » 20.11.2006 (Пн) 11:41

а подробнее?

Konst_One
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
Аватара пользователя
 
Сообщения: 3041
Зарегистрирован: 09.04.2004 (Пт) 13:47
Откуда: Химки

Сообщение Konst_One » 20.11.2006 (Пн) 11:46

Код: Выделить всё
select * from MyTable WHERE MyField LIKE '%that%You%want%'

kuhtiov
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 03.08.2006 (Чт) 5:31

Сообщение kuhtiov » 20.11.2006 (Пн) 11:56

Konst_One писал(а):
Код: Выделить всё
select * from MyTable WHERE MyField LIKE '%that%You%want%'


Спасибо тебе БОЛЬШОЙ человек!!!


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 96

    TopList