powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / вопрос по SCAN
12 сообщений из 12, страница 1 из 1
вопрос по SCAN
    #38128813
mosalova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите пожалуйста!

Есть курсор, к которому применяю фильтр по возрасту:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
* Возраст "С" указан, возраст "По" - опущен
IF prAgeF > 0 AND prAgeT = 0
	SET FILTER TO myCurs.age >= prAgeF IN myCurs
ENDIF
	
* Возраст "С" - опущен, возраст "По" указан
IF prAgeT > 0 AND prAgeF = 0
	SET FILTER TO myCurs.age <= prAgeT IN myCurs
ENDIF
	
* Оба параметра "С" и "По" указаны
IF prAgeT > 0 AND prAgeF > 0
	SET FILTER TO BETWEEN(myCurs.age,prAgeF,prAgeT) IN myCurs	
ENDIF	

Grid.RecordSource = 'myCurs'



Затем командой SCAN ... ENDSCAN данные из курсора myCurs передаю в Word.

Но при передаче фильтр не учитывается!!! Как сделать, чтобы передавались отфильтрованные записи?
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38128848
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mosalovaЗатем командой SCAN ... ENDSCAN данные из курсора myCurs передаю в Word.

Но при передаче фильтр не учитывается!!! Как сделать, чтобы передавались отфильтрованные записи?
Не может быть. Либо фильтр изначально не устанавливается либо где-то позже убирается
Код: sql
1.
set filter to
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38128856
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mosalovaЗатем командой SCAN ... ENDSCAN данные из курсора myCurs передаю в Word.
Но при передаче фильтр не учитывается!!! Как сделать, чтобы передавались отфильтрованные записи?Включите в SCAN содержание фильтра, например :
Код: plsql
1.
SCAN FOR myCurs.age >= prAgeF

IF ... ENDIF тут, видимо, тоже потребуется...
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38128866
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотреть какой фильтр стоит можно так
Код: sql
1.
2.
sele myCurs
MessageBox(set("Filter"))


вставь этот код после установки фильтра и перед сканом.

PS Если используется SELECT из myCurs, то он игнорирует фильтр.
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38128868
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mosalovaПомогите пожалуйста!

Есть курсор, к которому применяю фильтр по возрасту:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
* Возраст "С" указан, возраст "По" - опущен
IF prAgeF > 0 AND prAgeT = 0
	SET FILTER TO myCurs.age >= prAgeF IN myCurs
ENDIF
	
* Возраст "С" - опущен, возраст "По" указан
IF prAgeT > 0 AND prAgeF = 0
	SET FILTER TO myCurs.age <= prAgeT IN myCurs
ENDIF
	
* Оба параметра "С" и "По" указаны
IF prAgeT > 0 AND prAgeF > 0
	SET FILTER TO BETWEEN(myCurs.age,prAgeF,prAgeT) IN myCurs	
ENDIF	

Grid.RecordSource = 'myCurs'



Затем командой SCAN ... ENDSCAN данные из курсора myCurs передаю в Word.

Но при передаче фильтр не учитывается!!! Как сделать, чтобы передавались отфильтрованные записи?А тут у вас
Код: plsql
1.
GO TOP


не хватает, чтобы фильтр заработал.
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38128889
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonny540
Код: plsql
1.
GO TOP


не хватает, чтобы фильтр заработал.
Это не обязательно для SCANа
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38128928
mosalova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

установила фильтр

Код: sql
1.
SET FILTER TO myCurs.age <= prAgeT IN myCurs



сделала после установки фильтра

Код: sql
1.
2.
sele myCurs
MessageBox(set("Filter"))



у меня выдало
myCurs.age <= praget

что теперь?
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38128943
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mosalovaчто теперь?
Я же написал еще перед сканом проверить.
Или скан сразу же начинается? В приведенном примере не видно.
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38129131
mosalova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dima T,

команда
Код: sql
1.
SET FILTER TO myCurs.age <= prAgeT IN myCurs



производилась в дочерней форме, в которой при ее закрытии стояло
Код: sql
1.
release window имя дочерней формы



что сбрасывало все фильтры.
поставила
Код: sql
1.
HIDE WINDOW имя дочерней формы

и при выполнении команды СКАН пошло в Word то, что нужно.

Но как правильно передавать управление между родительской и дочерней формами?
Код: sql
1.
HIDE WINDOW имя дочерней формы

правильно или нет?
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38129171
tor300
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С фильтрами никогда не работал, всегда выбирал в курсор показываемые данные в грид, для редактирования записи отдельная форма, применительно к Вашему случаю:
Код: sql
1.
2.
3.
4.
5.
6.
  select * from myCurs
    where age>=iif(prAgeF>=0,prAgeF,0) and age<=iif(prAgeT>=0,prAgeT,999)
  into cursor myCurs1
  
  Grid.RecordSource = ''
  Grid.RecordSource = 'myCurs1'



и в скане выводить содержимое myCurs1, при закрытии формы уничтожать myCurs1.
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38129188
Jonny540
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mosalovaНо как правильно передавать управление между родительской и дочерней формами?Если вы дочернюю форму вызываете командой DO FORM, то там есть еще опция WITH, где можно передать параметры.
Ну или через глобальные переменные, что не всегда есть хорошо. :)
...
Рейтинг: 0 / 0
вопрос по SCAN
    #38129192
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ни HIDE WINDOW ни RELEASE WINDOW никак не влияют на твой курсор. Это команды управления окнами.
Возможно при уничтожении окна выполняется какой-то код который пересоздает курсор.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / вопрос по SCAN
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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