![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Проблемы с вычисляемым полем [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]
> но из предыдущей записи
что есть предыдущая запись? Чем определяется порядок записей?
А если сортировка будет по другому полю, тогда что?