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

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

Проблемы с вычисляемым полем [D7, MySQL]


Артем К. ©   (2004-11-01 15:08:00) 

Доброго времени суток, Мастера.

У меня в таблице есть вычисляемое поле.

Как сделать, чтобы при вычислении в него подставлялось значение из другого поля (ПОЛЕ_N), но из предыдущей записи?

Причем для 1-ой записи ПОЛЕ_N - одно, а для остальных записей таблицы - другое.

Заранее, спасибо!


sniknik   (2004-11-01 20:25:00) [1]

id 1-й записи тоже нужно в запросе получать (min), ведь не обязательно счетчик с еденицы начинается (удалили/сразу со 100 начали/тестили долго и проморгали при вводе базу не почистили/...).


Vlad   (2004-11-01 17:34:00) [2]


> Артем К.   (01.11.04 17:14) [11]
> это я понял, как сделать, чтобы для первой записи была одна
> формула, а для остальных другая?

В событии OnCalcFields поставить условие - если первая запись - то одна формула, если не первая - то другая.
Надеюсь отличить первую от непервой записи проблем не возникнет?


Артем К.   (2004-11-01 17:14:00) [3]

это я понял, как сделать, чтобы для первой записи была одна формула, а для остальных другая?


Vlad   (2004-11-01 17:10:00) [4]


> Артем К.   (01.11.04 16:53) [9]
> у меня есть автоинкрементное поле, можно сказать, что сортировка
> осуществляется по нему

ну и в чем тогда проблема, ID предыдущей записи будет определяться например так:
select max(id) from Table where ID < текущий_ID
по ID получаешь значение нужного тебе поля, и  вставляешь в результат калькулируемого поля (как один из вариантов)


Артем К.   (2004-11-01 16:53:00) [5]

у меня есть автоинкрементное поле, можно сказать, что сортировка осуществляется по нему


Vlad   (2004-11-01 16:45:00) [6]


> Артем К.   (01.11.04 16:36) [5]
> ясень перец, что вычисляй, а как получить значения из предыдущей
> записи?

SQL запросом, например. Однако для этого нужно знать по какому критерию определять эту "предыдущую" запись.


sniknik   (2004-11-01 16:41:00) [7]

без сортировки набор данных не имеет гарантированого порядка записей, "предыдущяя запись" если применительно не к рекордсету на клиенте а к записям базы, смысла не имеет.
(кроме некоторых sql серверов исключений, которые организуют внутренний порядок, но и он чаще не гарантирован для пользователя)


Sergey13   (2004-11-01 16:40:00) [8]

8-)
[1]


Артем К.   (2004-11-01 16:36:00) [9]

ясень перец, что вычисляй, а как получить значения из предыдущей записи?


Sergey13   (2004-11-01 16:32:00) [10]

2[3] Артем К.   (01.11.04 16:28)
>просто вводим данные и вычисляем их
Ну дык и делай так - кто мешает то? Ты же сам все знаешь.


Артем К.   (2004-11-01 16:28:00) [11]

причем здесь сортировка, просто вводим данные и вычисляем их, даже если была бы сортировка, это не имеет значения, формула то одна будет


Артем К.   (2004-11-01 16:25:00) [12]

а если бы у бабушки был член, она была бы дедушкой. зачем задавать лишние вопросы? есть конкретный вопрос. нет у меня сортировки. просто набор данных, как их ввел пользователь.


Vlad   (2004-11-01 16:13:00) [13]


> но из предыдущей записи

что есть предыдущая запись? Чем определяется порядок записей?
А если сортировка будет по другому полю, тогда что?


Наверх

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