powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / поиск "Найти далее"
11 сообщений из 11, страница 1 из 1
поиск "Найти далее"
    #36091179
Sara_gul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Я не знаю, что делаю не так. Две формы: одна с гридом в которой и надо искать, другая с полем и кнопочкой "Найти далее". Первый раз поиск срабатывает правильно, а при втором - форма поиска исчезает, хотя thisform.Refresh стоит, но я оказываюсь в форме гида. Этот поиск я использовала в поиске по дате и работает замечательно CONTINUE срабатывает и я могу нажимать "Найти далее", а тут форма закрывается и все до CONTINUE не доходит.

PoiskN = "Май"
IF thisform.priz1.Value =1
locate for ALLTRIM(mec)=P_PoiskN
m.recno1 = RECNO()
thisform.priz1.Value =2
IF NOT FOUND()
=messagebox("Нет вообще")
thisform.Release
GO m.recno1
ELSE
thisform.Parentform.grid1.column2.setfocus()
ENDIF
ELSE
CONTINUE
IF NOT FOUND()
=messagebox("Больше нет")
thisform.Release
GO m.recno1
ELSE
thisform.parentform.grid1.column2.setfocus()
ЕNDIF
ENDIF
Thisform.command1.SetFocus
thisform.Refresh
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36091388
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предпоследний ENDIF написан через русское Е.
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36092371
Sara_gul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DagПредпоследний ENDIF написан через русское Е.

точно.. я исправила, но все равно я выхожу в init гридовской формы, а поисковая форма исчезает. Может ее нужно какой-то особенной сделать? Чтоб она была всегда в режиме ожидания?
Ничего не пойму, когда этот же код использую для пойска по дате в поле грида дат, все нормально, ищет все по очереди по нажатию "Найти далее" и никуда не исчезает. А тут поменяла только поле пойска и условие и что-то не то...
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36092380
Dag_Roms
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Включаем дебаггер, первой строчкой перед Вашим кодом пишем
SET STEP ON
и проверяем отработку кода по шагам. Все.
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36092385
Sara_gul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag_RomsВключаем дебаггер, первой строчкой перед Вашим кодом пишем
SET STEP ON
и проверяем отработку кода по шагам. Все.

спасибо конечно, но я это уже 2 день делаю. Set step-ы в inite в самой кнопке, и при вызове и перво и второй формы. Везде. Сама не пойму в чем дело. Почему при "дате" работает нормально, а прошу найти по месяцам, первый попавший нашел и все "исчез", а следующем и речи нет. Что не так? CONTINUE при пойске дат работает же последовательно и все по очереди ищет... ???
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36092405
homik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По хорошему будет лучше так :
Local isSucces,lcTxt,recno1
m.recno1=RECNO()
PoiskN = "Май"
If Thisform.priz1.Value =1
Locate For UPPER(Alltrim(mec))=UPPER(P_PoiskN)
Thisform.priz1.Value =2
isSucces=Found()
lcTxt=Iif(isSucces=.T.,"","Нет вообще")
Else
Continue
isSucces=Found()
lcTxt=Iif(isSucces=.T.,"","Больше нет")
Endif

If isSucces=.T.
Thisform.Parentform.grid1.column2.SetFocus()
Thisform.command1.SetFocus
Thisform.Refresh
Else
Go m.recno1
Thisform.Release
Endif

И обратите внимание на выделенную строку.
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36092408
homik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри за предыдущий пост
По хорошему будет лучше так :
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
Local isSucces,recno1
m.recno1=RECNO()
PoiskN = "Май"
If Thisform.priz1.Value = 1 
	[color=green]Locate For UPPER(Alltrim(mec))=UPPER(P_PoiskN)[/color]
	Thisform.priz1.Value = 2 
	isSucces=Found()
Else
	Continue
	isSucces=Found()
Endif

If 	isSucces=.T.
	Thisform.Parentform.grid1.column2.SetFocus()
	Thisform.command1.SetFocus
	Thisform.Refresh
Else
           =Messagebox(iif(Thisform.priz1.Value = 1 ,"Нет вообще","Больше нет"), 0 ,"Внимание")
	Go m.recno1
	Thisform.Release
Endif

И обратите внимание на выделенную строку
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36092419
Sara_gul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
homik,

спасибо HOMIK, все хорошо работает, но только на 1 раз, потом форма исчезает. Refresh не помогает. Придется использовать фильтр. Отфильтрую все по указанному месяцу. Хотя тут не удобно использовать фильтр.
Спасибо, в любом случае очень благодарна Вам - HOMIK!
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36095157
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Sara_gul,

Он не исчезает, он стаёт за форму с гридом
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36095162
alextashk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alextashk,

Он - это форма с условием поиска
...
Рейтинг: 0 / 0
поиск "Найти далее"
    #36099799
Sara_gul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alextashk,
))) Да.
Я разобралась. Дело оказалось действительно в WindowType, надо было сделать = 1
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / поиск "Найти далее"
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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