Access поиск по слову - возможно ли?

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
babur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.10.2006 (Пн) 8:56

Access поиск по слову - возможно ли?

Сообщение babur » 02.10.2006 (Пн) 9:29

Здравствуйте! Есть вопрос который не могу решить и не дает покоя!
Необходимо сделать запрос по полю MEMO (в ячейках поля прописано несколько предложений). Проще говоря - найти ту самую заветную ячейку (а может и не одну) где встретится слово.

Спасибо

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.10.2006 (Пн) 9:38

Для начала, в Access нет ячеек.

Поиск в MEMO возможен, но там куча ограничений -- медленно (т.к. не индексируется), не все можно искать, да и идеологически неверно.
Я бы советовал добавить еще один столбец keywords, в который выводить ключевые слова для поиска.
Lasciate ogni speranza, voi ch'entrate.

babur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.10.2006 (Пн) 8:56

Сообщение babur » 02.10.2006 (Пн) 9:51

Спасибо за ответ! Но по ключевому слову и было изначально. Но как оказалось в последствии юзер не может одним словом охарактеризовать научную статью, которые и надо собственно катализировать.
Про ячейки учту

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.10.2006 (Пн) 9:58

Тогда добавь подчиненную таблицу, в которую пользователь может вписать столько ключевых слов, сколько пожелает.
Lasciate ogni speranza, voi ch'entrate.

babur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.10.2006 (Пн) 8:56

Сообщение babur » 02.10.2006 (Пн) 10:07

Понял. И все же - можно ли сделать динамический запрос чтобы находить слово из предложения, т.е. из стоящих нескольких слов подряд?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.10.2006 (Пн) 10:13

Это называется Full text search (полнотекстовый поиск), и как такового, в Access его нет, реализовывать надо самому.
Можешь использовать WHERE [NOTES] LIKE "%word%", но для MEMO это не подходит.
Lasciate ogni speranza, voi ch'entrate.

babur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.10.2006 (Пн) 8:56

Сообщение babur » 02.10.2006 (Пн) 10:31

"реализовывать надо самому" - имелось в виду VBA ?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.10.2006 (Пн) 10:39

Имелось ввиду "создавать вспомогательные таблицы, по которым будет осуществляться поиск".
Lasciate ogni speranza, voi ch'entrate.

babur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.10.2006 (Пн) 8:56

Сообщение babur » 02.10.2006 (Пн) 14:16

подскажи еще! Когда у мя было одно поле - для ключевого слова то поиск выглядел вот так:
SELECT статья.название, статья.автор, слово.слово1
FROM слово INNER JOIN статья ON слово.код = статья.слово
WHERE (((слово.слово1) Like [введите слово] & "*"));

А с добовлением допустим еще двух-трех полей- типа слово2, слово3 и т.д. Придется при поиске вводить одно и тоже слово несколько раз?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 02.10.2006 (Пн) 14:20

А зачем тебе дополнительные поля?

Если ты хочешь проводить поиск по нескольким словам (перечисленных через ИЛИ), то можно использовать WHERE fld IN ('word1','word2'), или выгружать список слов во вспомогательную таблицу и соединять с ней.
Lasciate ogni speranza, voi ch'entrate.

babur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.10.2006 (Пн) 8:56

Сообщение babur » 02.10.2006 (Пн) 14:30

по поводу вопроса : про дополнительные поля- не понял.
я так понял что невозможно будет сделать поиск если допустим три ключевых слова буду внесены через пробел допустим или через запятую

babur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.10.2006 (Пн) 8:56

Сообщение babur » 02.10.2006 (Пн) 14:34

не так выразился - статически типа "*shop*" это понятно. А вот с динамическим

babur
Начинающий
Начинающий
 
Сообщения: 8
Зарегистрирован: 02.10.2006 (Пн) 8:56

Сообщение babur » 03.10.2006 (Вт) 12:52

alibek
СПАСИБО!!!!!!!!
Дааа, надо учить SQL - вот в чем сила! :lol:


Вернуться в Базы данных

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

Сейчас этот форум просматривают: Google-бот и гости: 1

    TopList