Главная страница
    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.038 c
1-1100350228
redlord
2004-11-13 15:50
2004.11.28
как узнать сколько занял файл на диске


6-1095420003
SergeySEM
2004-09-17 15:20
2004.11.28
как пропилинговать сервак


1-1100371562
TSoftman
2004-11-13 21:46
2004.11.28
Прорисовка в TreeView


14-1099984409
syte_ser78
2004-11-09 10:13
2004.11.28
глупый вопрос.


14-1100094473
}|{yk
2004-11-10 16:47
2004.11.28
Ааааааааааааааааа! Наконец-то стали известны результаты выборов!





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский