Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

В чем проблема? [dBase, FoxPro]


Lerico ©   (2002-08-20 08:27:00) 

Мне надо последовательно уменьшить значения поля в таблице на 1 от предыдущего значения.
Есть такие данные:
7 - 14
8 - 15
9 - 16
10 - 17
11 - 18
Я запускаю цикл пока не Eof:
1) читаю зн-е поля в переменную
2) Edit
новое зн-е = (переменная - 1)
Post
3) Next
Конец цикла.
А результат немного странный получается:
7 - 13
8 - 15
9 - 15
10 - 16
11 - 17
Такое впечатление, что запись с 8 просто не обрабатывается, а почему не знаю!!!


ЮЮ   (2002-08-21 02:48:00) [1]

После корректировки 7-ой записи, она вылетает из набора,т.к. не удовлетволяет условию фильтра и текущей становится 8-я. Но вы делаете Next и переходите к 9-ой. Поэтому 8-я и не обрабатывается.


Lerico   (2002-08-20 11:01:00) [2]

Есть и фильтр по значению поля > 13 и индекс по этому полю


Mike Kouzmine   (2002-08-20 09:33:00) [3]

А может индекс по этому полю?


Praco   (2002-08-20 09:15:00) [4]

А зачем читать в переменную?
Table1.FieldByName("...").AsInteger := Table1.FieldByName("...").AsInteger - 1;
На SQL все будет проще(но медленнее:)).

Может фильтр какой стоит?


Наверх

Титульная страница Поиск, карта сайта Написать письмо