Вниз
Скачать: CL | DM;

Проблемы с вычисляемым полем   Найти похожие ветки 

← →
Артем К.   (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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.024 c
9-1090961036
xdev
2004-07-28 00:43
2004.11.28
Как создать дугу между тремя точками в OpenGL


3-1098875412
Некто
2004-10-27 15:10
2004.11.28
патч к АДО


3-1099409227
DimonNew
2004-11-02 18:27
2004.11.28
модификация данных из двух запросов в ADO


1-1099942188
Rusty
2004-11-08 22:29
2004.11.28
Вызов процедуры, принадлежащей дочернему окну...


8-1093358756
redlord
2004-08-24 18:45
2004.11.28
как стереть изображение в компоненте Image




   Наверх