powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Последовательная фильтрация
6 сообщений из 31, страница 2 из 2
Последовательная фильтрация
    #37658355
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UAPset filter to L1.and.L2
"эквивалентен"
dele all for !( L1.and.L2)

"эквивалентен" до тех пор пока ты не захочешь пометить на удаление какую-нибудь запись.
Пометку на удалению лучше не трогать, не для того она.
Если такой подход очень нравится: заведи поле lFilter и пиши .T. для нужных записей:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
sele MyTable
set filter to lFilter

* снимаем фильтр
update MyTable set lFilter = .T.
* или снимаем и начинаем новый
update MyTable set lFilter = (Поле1 = Значение1)
* добавляем второе условие фильтра
update MyTable set lFilter = (Поле2 = Значение2) where lFilter = .T.
... 



Такой подход однопользовательский, если два пользователя начнут одновременно ставить фильтры на одну таблицу - будет каша.
Во-вторых - раз уж все равно делаешь полный скан таблицы, то можно писать ID отобранных записей в курсор:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
* снимаем фильтр
select MyTable.ID from MyTable into cursor tFilter
* или снимаем и начинаем новый
select MyTable.ID from MyTable into cursor tFilter where (Поле1 = Значение1)
* добавляем второе условие фильтра
select MyTable.ID from tFilter join MyTable on tFilter.ID = MyTable.ID into cursor tFilter where (Поле2 = Значение2)
...

* создаем индекс после создания курсора
index on ID tag ID
set order to

* Пользуемся
sele MyTable
set filter to IndexSeek(MyTable.ID, .F., 'tFilter', 'ID')
brow
...
Рейтинг: 0 / 0
Последовательная фильтрация
    #37658432
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima Tу на удалению лучше не трогать, не для того она.
Если такой подход очень нравится: заведи поле lFilter и пиши .T. для нужных записей:
....
Такой подход однопользовательский, если два пользователя начнут одновременно ставить фильтры на одну таблицу - будет каша.

Да, :-), но можно же ставить не .T., а случайное число, код оператора и т.д....
...
Рейтинг: 0 / 0
Последовательная фильтрация
    #37658500
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
q1w1e1Dima Tу на удалению лучше не трогать, не для того она.
Если такой подход очень нравится: заведи поле lFilter и пиши .T. для нужных записей:
....
Такой подход однопользовательский, если два пользователя начнут одновременно ставить фильтры на одну таблицу - будет каша.

Да, :-), но можно же ставить не .T., а случайное число, код оператора и т.д....
Месье знает толк в извращениях
Тогда чего ставить если двум пользователям надо будет одну и туже запись показать?
...
Рейтинг: 0 / 0
Последовательная фильтрация
    #37658511
q1w1e1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima TТогда чего ставить если двум пользователям надо будет одну и туже запись показать?

не вопрос..:-), поле символьное и ставим alltrim(поле)+знак разделения кодов(например запятая+уникальный код оператора, и фильтр at(уникальный код оператора, по этому полю)...
Ps: Согласен извращение :-), поэтому молчу...
...
Рейтинг: 0 / 0
Последовательная фильтрация
    #37658699
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Почему не воспользоваться курсорадаптером или хотя бы обычным запросом?
...
Рейтинг: 0 / 0
Последовательная фильтрация
    #37658997
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Потому что - "последовательная фильтрация".
То есть извращения - прямо на исходной таблице. Поэтому и не рассматриваем Select-SQL.
...
Рейтинг: 0 / 0
6 сообщений из 31, страница 2 из 2
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Последовательная фильтрация
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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