|
быстрый поиск
|
|||
---|---|---|---|
#18+
Подскажите,как сделать ускоренный(быстрый)поиск ,например телефонного номера(6 цифр) ,из БД....если известны только три первый цифры номера? эти 3 цифры вводим с клавиатуры... При моем решении вообще не выводится ничего...(( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2009, 15:27 |
|
быстрый поиск
|
|||
---|---|---|---|
#18+
тел=SPACE(3) @3,4 say 'тел=' get тел READ INDEX on фам + адрес TO xxx ns=1 SEEK тел DO WHILE STR(телефон,9)= тел @9+ns,12 say фам ns=ns+1 skip enddo Где тел-это первые вводимые цифры номера,а телефон значение в бд... Что не так?((( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2009, 16:12 |
|
быстрый поиск
|
|||
---|---|---|---|
#18+
Blacklineтел=SPACE(3) @3,4 say 'тел=' get тел READ INDEX on фам + адрес TO xxx ns=1 SEEK тел DO WHILE STR(телефон,9)= тел @9+ns,12 say фам ns=ns+1 skip enddo Где тел-это первые вводимые цифры номера,а телефон значение в бд... Что не так?(((Да все не так. :) 1. Индексируем по фамилии и телефону, а ищем телефон. 2. seek ищет полное соответствие, а не частичное. Напишите после Read Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2009, 16:23 |
|
быстрый поиск
|
|||
---|---|---|---|
#18+
тел=SPACE(3) @3,4 say 'тел=' get тел READ INDEX on фам + телефон TO xxx set order to 0 scan for тел = телефон @9+ns,12 say фам ns=ns+1 endscan В данном случае, тел и телефон не совпадают по типу))) тел=SPACE(3) или scan for тел = str(телефон,9) ?(( ужас какой((( ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2009, 16:51 |
|
быстрый поиск
|
|||
---|---|---|---|
#18+
Blackline, если SET EXACT установить в OFF, то Fox найдет нужную запись, только предварительно "обрежьте" концевые пробелы в переменной: тел=TRIM(тел) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2009, 16:54 |
|
быстрый поиск
|
|||
---|---|---|---|
#18+
Blackline, лучше преобразовать поле "Телефон" в символьное, и Код: plaintext
Это значительно упростит любые варианты поиска по номеру ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2009, 16:58 |
|
быстрый поиск
|
|||
---|---|---|---|
#18+
извинюсь за некоторую глупость,но где найти set exact? Или в командном прописать?...помогите, Я нубкО))) ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2009, 17:10 |
|
быстрый поиск
|
|||
---|---|---|---|
#18+
set exact отключено... но сие прога не работает( тел=SPACE(3) @1,4 say 'тел=' get тел READ set order to 0 ns=1 scan for тел = STR(телефон,9) @9+ns,12 say фам ns=ns+1 endscan ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2009, 17:15 |
|
быстрый поиск
|
|||
---|---|---|---|
#18+
Blackline, тел=SPACE(3) @1,4 say 'тел=' get тел READ set order to 0 ns=1 scan for ALLTRIM(STR(телефон)) = тел @9+ns,12 say фам ns=ns+1 endscan Это если так, как Вы хотите. А вообще GermanGM дело говорит. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.05.2009, 17:38 |
|
|
start [/forum/topic.php?fid=41&tid=1586403]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
40ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
2ms |
others: | 13ms |
total: | 153ms |
0 / 0 |