Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / поиск по контексту / 13 сообщений из 13, страница 1 из 1
02.12.2003, 08:12
    #32340138
mursilka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
В форме поиск - нужно искать в одном поле но по нескольким словам или по одному из введенных слов, можно ли это сделать при помощи запроса? Вобщем как сделать поиск по контексту?
...
Рейтинг: 0 / 0
02.12.2003, 10:37
    #32340287
mursilka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
Скажите хоть что-нибудь. Может я по дурацки выразилась...
...
Рейтинг: 0 / 0
02.12.2003, 11:06
    #32340337
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
можно ли это сделать при помощи запроса?

Код: plaintext
.... Where [ИмяПоля] Like  "*Слово1*"  Or [ИмяПоля] Like  "*Слово2*"  Or [ИмяПоля] Like  "*Слово3*"  ....


что-нибудь сказал
...
Рейтинг: 0 / 0
02.12.2003, 14:42
    #32340827
mursilka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
да я не правильно выразилась
...
Рейтинг: 0 / 0
02.12.2003, 14:56
    #32340855
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
Ну дык никогда не поздно попытаться выразиться правильно

В каком поле искать
Откуда брать какие-то там слова
Причем тут запрос
Что еще за форма
Что такое поиск по контексту
итд итп.
...
Рейтинг: 0 / 0
02.12.2003, 17:08
    #32341078
Темный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
SQL ANSI 92 вместо * - %

До кучи.
...
Рейтинг: 0 / 0
03.12.2003, 10:05
    #32341562
mursilka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
есть поля такие "дата регистрации" "номер" "название".
Нужно сделать поиск в поле название . В стандартном поиске я могу ввести только один контекст а надо ввести н-р: отпуск; Иванов; 2003 год.
ВВодить это будет пользователь. Это не конкретный запрос
.... Where [ИмяПоля] Like "*Слово1*" Or [ИмяПоля] Like "*Слово2*" Or [ИмяПоля] Like "*Слово3*"
вместо слово1 слово2 слово3 переменная
...
Рейтинг: 0 / 0
03.12.2003, 10:13
    #32341575
Шайтан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
2Темный
а в Jet SQL - *

До кучи
Шайтан
...
Рейтинг: 0 / 0
03.12.2003, 10:24
    #32341592
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
Проще всего, искать свое значение в своем поле, Кесарю кесарево, как говориться. Ежели всенепременно искать надо по строке, набранной в одном поле - флаг в руки.

Бьем эту строку на лексемы (предварительно определившись, что является разделителями лексем, например, " - " является, а "-" - нет.) Потом объединяем поля поиска в одну строку:

... Field1 & Field2 & Field3 as FieldForSearch ...

И в этой строке ищем

... "FieldForSearch like """ & sLex(1) &""" or FieldForSearch like """ & sLex(2) &""" ...

только тут еще кавычки надо будет удваивать. В общем возни порядочно.
...
Рейтинг: 0 / 0
03.12.2003, 10:53
    #32341657
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
2 Geo
Поиск не в одном поле
mursilkaесть поля такие "дата регистрации" "номер" "название".


2 mursilka
ВВодить это будет пользователь. Это не конкретный запрос
А ты из того что пользователь ввел (куда-то непонятно куда) сформируй конкретный запрос

вместо слово1 слово2 слово3 переменная
Именно так

Код: plaintext
1.
2.
strSql =  "Select ......... Where [дата регистрации] Like "  "*"  & strVar1 & _
     "*"  " And [номер] Like "  "*"  & strVar2 &  "*"  " And [название] Like "  "*"  & strVar3 &  "*" ""
' где strVar1,2,3 - переменные, содержащие то, что ввел пользователь. '

И потом используй этот запрос где тебе нужно (тоже непонятно где)
Если надо это в форме отобразить - например так
Forms![ИмяФормы].RecordSource = strSql
Это если форма открыта.
...
Рейтинг: 0 / 0
03.12.2003, 11:05
    #32341691
Geo
Geo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
2ЛП
>2 Geo
>Поиск не в одном поле

А почему не в одном?
> ... Field1 & Field2 & Field3 as FieldForSearch ...
=>

... [дата регистрации] & [номер] & [название] as FieldForSearch ...
...
Рейтинг: 0 / 0
03.12.2003, 11:11
    #32341704
Лох Позорный
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
Если пользователь вводит все одной строкой - то так и придется.
Но если уже есть различные поля (в базе) - то лучше заставить пользователя вводить разные величины в разные контролы. Поиск по трем полям - лучше чем поиск по вычисляемому полю.

Я ж говорю - непонятно откуда берутся данные, где искать, куда выводить...
...
Рейтинг: 0 / 0
03.12.2003, 12:09
    #32341820
mursilka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
поиск по контексту
Я вот так сделала, вроде работает

SELECT osnovn.datareg, osnovn.nomerrasp, osnovn.naimenrasp
FROM osnovn
WHERE (((osnovn.datareg) Between [Forms]![poisk]![data1] And [Forms]![poisk]![data2]) AND ((osnovn.naimenrasp) Like "*" & [Forms]![poisk]![c1] & "*" And (osnovn.naimenrasp) Like "*" & [Forms]![poisk]![c2] & "*" And (osnovn.naimenrasp) Like "*" & [Forms]![poisk]![c3] & "*"));

Всем спасибо.
Буду учиться задавать вопросы.
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / поиск по контексту / 13 сообщений из 13, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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