|
|
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
как организовать поиск типа Like (*"xxx"*) AND Like (*"cccc"*) в .mdb в .findfirsr , findnext..... проходит без проблем а если рекордсет на основе ADODB.Recordset то MSAccess (.adp) ругается нет у него такой возможности а этого ну очень надо или как это обойти заранее спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2003, 07:51 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
Свойство Filter, может быть. Сам не пользовался, но в справке вроде написано, что можно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2003, 08:11 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
в ADO.recordset нет FindFirst и FindNext есть только: recordset.Find Criteria, ScipRows, SearchDirection, Start т.е. или указываешь направление поиска, или все время возвращаешься в начало ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2003, 09:01 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
в ADO.recordset нет FindFirst и FindNext есть только: recordset.Find Criteria, ScipRows, SearchDirection, Start т.е. или указываешь направление поиска, или все время возвращаешься в начало всё правильно только Criteria не поддерживаен like and like фильтр не подходит тк надо чтобы отображались все записи только позиционироваться на записях по условию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2003, 10:17 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
2вадя > только Criteria не поддерживаен like and like из хэлпа: The comparison operator in Criteria may be ">" (greater than), "<" (less than), "=" (equal), ">=" (greater than or equal), "<=" (less than or equal), "<>" (not equal), or "like" (pattern matching). Так что можно и Like. Like ("%xxx%") AND Like ("%cccc%") Только вместо * - % ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2003, 15:51 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
Только не забудь создать индексы по нужным полям на ADO-шном рекордсете, а то Find будет работать медленно на больших наборах записей. Делаеться это по моему так: rs.fields("Имя поля").properties("Optimize") = True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2003, 04:42 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
2Senin Viktor всё правильно вид Like ("%xxx%") AND Like ("%cccc%") не поддерживается проверено!!!!!!!!!!!! дальше в хелпе описаны ограничения. хотя такая конструкция и неописана конкретно , но выдается ошибка и с * и с % 2 Mind это буду пробовать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2003, 07:26 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
2вадя >всё правильно вид Like ("%xxx%") AND Like ("%cccc%") не поддерживается проверено!!!!!!!!!!!! Черт! Забыл! Это же не DAO. Прийдется искать сначала Like (*"xxx"*) , делать закладку, и искать Like (*"cccc"*) от этой закладки. Хотя это верно для OR, а не для AND (кстати, зачем искать вхожденияя xxx и сссс в одном поле, нельзя ли критерий ужесточить и искать сразу xxxcccc или xxx___cccc__xxx. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2003, 09:10 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
2Sevin Viktor к примеру порошок стиральный порошок чистящий паста чистящая требуется найти "порошок чистящий" набираем "пор чист" после небольшой обработки должны найти то что надо оператору так проще "небольшую обработку" кому итересно покажу ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2003, 10:31 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
2вадя: Я эту проблему решал несколько иначе - через запросы, где в поисковой форме оператор вводит значения, а в списке выпадают (например, клиенты) Like "*ТоЧтоВвелОператор*". Типа WHERE КодКонтрагента Like ""*" & Nz(Me![Search].Text, "") Может и тебе так попробовать - через сохраненые запросы? Поставишь Like ...And Like ... ссылкой на Forms("ПоисковаяФорма")("ПолеВвода") На событие Change - обновление списка. Правда в сети будут некоторые тормоза, но это все решаемо (например через времен. табл, которая создается в момен открытия поисквой формы, а по таймеру можено и актуализировать) Кстати эту форму (описковую) сдлела универсальной для всей проги, взависоимости от OpenArgs используется свой источник. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2003, 10:42 |
|
||
|
Поиск в ADODB.Recordset
|
|||
|---|---|---|---|
|
#18+
2Senin Victor like and like для adp .find обошел, несколько больше кода но работает также быстро и красиво Вижу что поиск итнтересует не только меня предлагаю свой вариант (операторам нравится , да и мне тоже) по скорости и по удобству есть решение для mdb и adp в поле со списком набираем части слов через пробел ( количество ограничено длиной поля (для ХП входной параметр) пробел аналогичен оператору & (and) по события "после обновления" неольшой процедуркой формируем входной параметр для ХП, эту ХП делаем (вместе с входным параметром) источником строк для поля со списком . В результате из списка в несколько тысяч получется список в несколько строк из которого можно уже стрелками ручками выбрать. работает мнгновенно сетка не тормозит. достоинство : из сложного наименования набираеи только ключевые части из ранее приведенного примера с порошками видно . после небольшого опыта операторы формируют список в 2-3 строчки вместо полного набора достаточно набрать только семь символов очень удобно рекомендую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2003, 17:03 |
|
||
|
|

start [/forum/topic.php?fid=45&fpage=1816&tid=1682035]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 254ms |
| total: | 385ms |

| 0 / 0 |
