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

Используйте Locate for или Seek
...
Рейтинг: 0 / 0
форма поиска
    #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
форма поиска
    #35865483
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Liosha_nove4ok, а что тут может быть "как", если messagebox() запихнут в InteractiveChange! :)
(один из великого множества путей решения этой нетривиальной проблемы прилагается...)
...
Рейтинг: 0 / 0
форма поиска
    #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
форма поиска
    #35865978
gepard45
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А проблема в чем ?
Я "задал правильное условие" а оно не находит или в чем-то другом ?
...
Рейтинг: 0 / 0
форма поиска
    #35865985
GermanGM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gepard45, причина, наверное в том, что не было сделано обрезание... :) (конечных пробелов)
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / форма поиска
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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