:: Visual Foxpro, Foxpro for DOS
Как по простому менять порядок записей в Browse?
Maestro

Сообщений: 533
Откуда: г.Благовещенск А
Дата регистрации: 14.08.2002
Есть записи документа, если грубо, то код выглядит так:
****
SELECT SCHETA
SET ORDER TO KODDOK
SET KEY TO RANGE M_KODDOK,M_KODDOK
BROWSE
****
в BROWSE порядок получается так, как записи реально находятся в таблице. То есть при удалении записи и добавлении новой - новые попадают вниз.
Народ хочет их "двигать", чтоб на экране и при печати порядок был как им надо. Не алфавитный, а как в заказе клиента.

****
Есть простое решение?
Спасибо.



Исправлено 1 раз(а). Последнее : Maestro, 27.06.17 06:57
Ratings: 0 negative/0 positive
Re: Как по простому менять порядок записей в Browse?
Дмитрий Петров

Сообщений: 3071
Откуда: Пермь
Дата регистрации: 09.07.2001
Поле "номер по порядку" и сортировка/индекс по нему
Ratings: 0 negative/0 positive
Re: Как по простому менять порядок записей в Browse?
Maestro

Сообщений: 533
Откуда: г.Благовещенск А
Дата регистрации: 14.08.2002
Как бы индекс то уже есть ..
Он установлен для работы SET KEY
Ratings: 0 negative/0 positive
Re: Как по простому менять порядок записей в Browse?
Crispy

Сообщений: 18571
Дата регистрации: 16.05.2005
Maestro

Вообще код специфический конечно. Версия случайно не FPD? Иначе применение BROWSE на мой взгляд не очень оправдано.
По поводу же изменения порядка записей на произвольный с дальнейшим его сохранением - в FPD когда-то применял такой несложный, но действенный прием, как добавление дополнительного поля в таблицу, при изменении пользователем порядка записей, запускается процедура, переписывающая в данном поле новую нумерацию записей. Естественно, нужно добавить еще и индекс по этому полю, и при необходимости включать именно его - при отображении или выводе на печать.

Собственно похоже про это уже и написал Дмитрий выше. Т.е. в составной индекс нужно просто добавить еще один тэг, который и активировать при необходимости.

SET KEY кстати не особо удачная команда по ряду причин.


------------------
В действительности все иначе, чем на самом деле.
                                      (Антуан де Сент-Экзюпери)




Исправлено 3 раз(а). Последнее : Crispy, 27.06.17 10:57
Ratings: 0 negative/0 positive
Re: Как по простому менять порядок записей в Browse?
Владимир Максимов

Сообщений: 14098
Откуда: Москва
Дата регистрации: 02.09.2000
Если это FoxPro for DOS, то нужен составной индекс, который будет включать в себя поле KODDOK + специально созданное поле сортировки. Можно порядковый номер строки, который сами пользователи будут менять

Вот здесь эта схема описана для Relation (связь(обычная)), но все то же самое можно делать и просто для таблицы, без "главной"

foxclub.ru

Соответственно, первая часть индекса по полю KODDOK обеспечит фильтрацию, а вторая часть - нужный порядок следования в рамках одного значения KODDOK

Хотя, конечно, логичнее было бы сделать выборку по указанному значению KODDOK, но для FoxPro for DOS в этом случае будут другие проблемы
Ratings: 0 negative/0 positive
Re: Как по простому менять порядок записей в Browse?
akvvohinc
Автор

Сообщений: 4219
Откуда: Москва
Дата регистрации: 11.11.2008
Crispy
Т.е. в составной индекс нужно просто добавить еще один тэг, который и активировать при необходимости.

Зачем новый тэг, если достаточно дополнить новым полем индексное выражение для имеющегося?
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 6 (Гостей: 6)

© 2000-2024 Fox Club 
Яндекс.Метрика