Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / форма поиска / 7 сообщений из 7, страница 1 из 1
12.03.2009, 15:08
    #35865015
Liosha_nove4ok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма поиска
помогите плиzzz сдетать форму поиса, есть форма, в ней текстбокс, как при вводе ФИО в текстбокс мне высветилась инфа об этом человеке?
...
Рейтинг: 0 / 0
12.03.2009, 15:57
    #35865207
VictorSK
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма поиска
Liosha_nove4ok,

Используйте Locate for или Seek
...
Рейтинг: 0 / 0
12.03.2009, 16:06
    #35865246
Liosha_nove4ok
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма поиска
VictorSK,

LOCATE ALL FOR bd_pr.name = thisform.text1.Value
IF FOUND()
thisform.list1.Refresh
ELSE
=MESSAGEBOX('result 0',64)
endif

вот как я пришу в InteractiveChenge и чтото ваще никак, помогите плиzzz...
...
Рейтинг: 0 / 0
12.03.2009, 17:04
    #35865483
GermanGM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма поиска
Liosha_nove4ok, а что тут может быть "как", если messagebox() запихнут в InteractiveChange! :)
(один из великого множества путей решения этой нетривиальной проблемы прилагается...)
...
Рейтинг: 0 / 0
12.03.2009, 17:14
    #35865522
GermanGM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма поиска
(что-то файл не приложился... Ну тогда листинг)

cStroka - искомое выражение (thisform.textbox1.value)
Таблица проиндексирована; индексное выражение - fam+ima+otch
(при создании индекса set idxcollate to "RUSSIAN" для нечувствительности к регистру)

if !empty(cStroka)
cStroka=allt(cStroka)
do while at([ ],cStroka)>0
cStroka=strtran(cStroka,[ ],[ ])
enddo
Z=occurs([ ],cStroka)
local fm,im,ot,rec
store [] to fm,im,ot

do case
case Z<1 && fam only
fm=cStroka
case Z=1 && fam+ima
x=at([ ],cStroka)
fm=left(cStroka,x-1)
im=subs(cStroka,x+1)
case Z>1
x=at([ ],cStroka)
fm=left(cStroka,x-1)
cStroka=subs(cStroka,x+1)
x=at([ ],cStroka)
im=left(cStroka,x-1)
cStroka=subs(cStroka,x+1)
x=at([ ],cStroka)
ot=IIF(x<1,cStroka,left(cStroka,x-1))
endcase
rec=recno()
if seek(fm)
if !empty(im)
rec=recno()
scan while fam=fm.and.ima<>im
rec=recno()
endscan
if ima<>im
go rec
else
if !empty(ot)
rec=recno()
scan while fam=fm.and.ima=im.and.otch<>ot
rec=recno()
endscan
if otch<>ot
go rec
endif
endif
endif
endif
else
if betw(rec,1,reccount())
go rec
endif
endif
endif
* (далее - вывод информации из текущей строки куда надо) *
...
Рейтинг: 0 / 0
12.03.2009, 21:28
    #35865978
gepard45
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма поиска
А проблема в чем ?
Я "задал правильное условие" а оно не находит или в чем-то другом ?
...
Рейтинг: 0 / 0
12.03.2009, 21:37
    #35865985
GermanGM
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
форма поиска
gepard45, причина, наверное в том, что не было сделано обрезание... :) (конечных пробелов)
...
Рейтинг: 0 / 0
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / форма поиска / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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