Как выбрать группу записей из dbf? #20995


#0 by Слеш
Как отобрать группу записей из открытого dbf файла по опеределенному критерию? Есть методы Найти и НайтиПоКлючу, но в ЖКК сказано, что они приведут на первую найденную запись, как двигаться по остальным?
#1 by Мулька
в вечном цикле
#2 by Слеш
А разве эти методы не будут постоянно возвращать один и тот же элемент (первый найденный)?!
#3 by MAG
..........
#4 by Мулька
- в вечном цикле обычным перебором. Или
#5 by Слеш
Спасибо за пример, но это же жутко не оптимально, как для этих целей юзать индексы. Типа: Фильтр("ФИО","Иванов") Найти ... Пока НайтиДалее > 0 Цикл ... КонецЦикла
#6 by Мулька
Такое даже для таблицы значений нету, а ты к ДБФ прикрутить хочешь.
#7 by MAG
Если информацию из dbf-таблицы предстоит обрабатывать неоднократно, то можно попробовать выгрузить dbf в ТЗ, отсортировать и использовать оптимальный бинарный поиск :)
#8 by Слеш
а если у меня несколько тыщ строк (или десяток тыщ) в VB было...
#9 by Слеш
а если с индексами поиграться? критерии отбора у меня не динамические, т.е. я их знаю еще на этапе записи в файл, тогда же могу создать индекс только для моего критерия (может я не совсем правильно выражаюсь, я только учусь).
#10 by Asmody
на проклубе лежали 2 ВК для работы с dbf'ами через движок FoxPro. поищи, попробуй...
#11 by Слеш
т.е. 1с 7.7 не предоставляет человеческих функций вообще :(
#12 by 1С Дурочка
Я правильно понимаю: нужно в индексном поле найти одинаковые записи?
#13 by Слеш
есть DBF (левый пример): код    FIO                сумма 1      Пупкин              10       2      Иванов              20     3      Петров              15 4      Пупкин              18       Нужно отобрать строки с FIO = "Пупкин"
#14 by 1С Дурочка
А, можно удалять найденную запись?
#15 by Слеш
хороший вопрос! если бы было можно, ноу проблем нельзя
#16 by Слеш
хотя конечно можно создать копию, и ее мучать Спасибо за идею!
#17 by Diter
Выгружай перебором в ТЗ и там отбирай.
#18 by MAG
Вот и записывай циклом по всем записям dbf в ТЗ, и используй удаление строки ТЗ и НайтиЗначение. Выигрыш будет только при неоднократном анализе информации из ТЗ.
#19 by Слеш
Спасибо всем! Буду пробовать. Только скажите, плиз, в 8-ке в этом плане хоть легче стало?
#20 by miki
имхо, в правильный ответ.
#21 by А
че, так не получица:
#22 by 427
Открыть с индексом Найти первое вхождение по Find или FindByKey Дальше листать с проверкой на соблюдение условий Прервать, если условие не выполнено Тоже самое и для ТЗ...
#23 by Слеш
2 pit Thx за идею!
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С