Форум: "Базы";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
ВнизПроблемы с вычисляемым полем Найти похожие ветки
← →
Артем К. (2004-11-01 15:08) [0]Доброго времени суток, Мастера.
У меня в таблице есть вычисляемое поле.
Как сделать, чтобы при вычислении в него подставлялось значение из другого поля (ПОЛЕ_N), но из предыдущей записи?
Причем для 1-ой записи ПОЛЕ_N - одно, а для остальных записей таблицы - другое.
Заранее, спасибо!
← →
Vlad © (2004-11-01 16:13) [1]
> но из предыдущей записи
что есть предыдущая запись? Чем определяется порядок записей?
А если сортировка будет по другому полю, тогда что?
← →
Артем К. (2004-11-01 16:25) [2]а если бы у бабушки был член, она была бы дедушкой. зачем задавать лишние вопросы? есть конкретный вопрос. нет у меня сортировки. просто набор данных, как их ввел пользователь.
← →
Артем К. (2004-11-01 16:28) [3]причем здесь сортировка, просто вводим данные и вычисляем их, даже если была бы сортировка, это не имеет значения, формула то одна будет
← →
Sergey13 © (2004-11-01 16:32) [4]2[3] Артем К. (01.11.04 16:28)
>просто вводим данные и вычисляем их
Ну дык и делай так - кто мешает то? Ты же сам все знаешь.
← →
Артем К. (2004-11-01 16:36) [5]ясень перец, что вычисляй, а как получить значения из предыдущей записи?
← →
Sergey13 © (2004-11-01 16:40) [6]8-)
[1]
← →
sniknik © (2004-11-01 16:41) [7]без сортировки набор данных не имеет гарантированого порядка записей, "предыдущяя запись" если применительно не к рекордсету на клиенте а к записям базы, смысла не имеет.
(кроме некоторых sql серверов исключений, которые организуют внутренний порядок, но и он чаще не гарантирован для пользователя)
← →
Vlad © (2004-11-01 16:45) [8]
> Артем К. (01.11.04 16:36) [5]
> ясень перец, что вычисляй, а как получить значения из предыдущей
> записи?
SQL запросом, например. Однако для этого нужно знать по какому критерию определять эту "предыдущую" запись.
← →
Артем К. (2004-11-01 16:53) [9]у меня есть автоинкрементное поле, можно сказать, что сортировка осуществляется по нему
← →
Vlad © (2004-11-01 17:10) [10]
> Артем К. (01.11.04 16:53) [9]
> у меня есть автоинкрементное поле, можно сказать, что сортировка
> осуществляется по нему
ну и в чем тогда проблема, ID предыдущей записи будет определяться например так:
select max(id) from Table where ID < текущий_ID
по ID получаешь значение нужного тебе поля, и вставляешь в результат калькулируемого поля (как один из вариантов)
← →
Артем К. (2004-11-01 17:14) [11]это я понял, как сделать, чтобы для первой записи была одна формула, а для остальных другая?
← →
Vlad © (2004-11-01 17:34) [12]
> Артем К. (01.11.04 17:14) [11]
> это я понял, как сделать, чтобы для первой записи была одна
> формула, а для остальных другая?
В событии OnCalcFields поставить условие - если первая запись - то одна формула, если не первая - то другая.
Надеюсь отличить первую от непервой записи проблем не возникнет?
← →
sniknik © (2004-11-01 20:25) [13]id 1-й записи тоже нужно в запросе получать (min), ведь не обязательно счетчик с еденицы начинается (удалили/сразу со 100 начали/тестили долго и проморгали при вводе базу не почистили/...).
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.28;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c