Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
4-1098012867
volser
2004-10-17 15:34
2004.11.28
Генерация GUID


14-1100240303
Павел
2004-11-12 09:18
2004.11.28
Запуск delphi c другого компьютера.


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


3-1099032577
Miss
2004-10-29 10:49
2004.11.28
TUpdateSQL


6-1095423432
Uran
2004-09-17 16:17
2004.11.28
Как зарегестрировать ActiveX Server на клиенте





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский