Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];

Вниз

Сохранение значения полей.   Найти похожие ветки 

 
yozhik   (2002-05-28 20:11) [0]

Уважаемые, подскажите можно ли использоваить CalclField для хрения значений остальных полей запроса, если да то каким образом.


 
TSV   (2002-05-28 20:19) [1]

Для чего использовать???


 
yozhik   (2002-05-28 20:23) [2]

сорри, для хранения :)


 
TSV   (2002-05-28 20:29) [3]

А что значит - остальных полей запроса???
Или тебя интересует механизм использования CalclFields???


 
yozhik   (2002-05-28 20:32) [4]

Перефразирую вопрос.
Можно ли использовать CalcField для хранения значения любого другого поля, т.е. чтоб в CalcField сохранялось значени поля до его изменения.



 
TSV   (2002-05-28 20:45) [5]

По идее - да.
Создаешь его в design-time. Делаешь обработчик OnCalcFields. Пересчитывать само будет при изменении поля и не только.

Удачи.


 
yozhik   (2002-05-28 20:48) [6]

так не работает, при измеенение значения поля CalcField тоже меняет свое значение, может обработчик неравльно написан?


if Query1CalcFld.IsNull then
Query1CalcFld.Value := Query1SrcFld.Value


 
-=Sergeante=-   (2002-05-29 09:05) [7]

После открытия таблицы (и обсчета значений вычисл-го поля)попробуй сделать OnCalcFields:=nil


 
Сергей Иванов   (2002-05-29 09:51) [8]

А как насчет
CurValue, NewValue, OldValue: Variant;
имеющих место быть у TField. Не подходят?


 
yozhik   (2002-05-29 10:21) [9]

OnCalcFields:=nil - не подходит, почему я так и не понял, но когда устанавливаю, зачения CalcField сбрасываются :(
CurValue, NewValue, OldValue: Variant; - использовал, но почему-то, CurValue=NewValue=OldValue=Null при любых раскладах :(


 
-=Sergeante=-   (2002-05-29 11:59) [10]

А если не использовать CalcFields? Вмасто этого определить глобальную переменную, в которую в событии OnAfterScroll будет заноситься результат обработки. Т.о. у тебя в этой переменной постоянно находиться нужное значение при любом перемещении по НД.


 
-=Sergeante=-   (2002-05-29 12:02) [11]

Типа такого:

var s:string;
...
procedure Tform1.Table1AfterScroll(sender:TObject);
begin
s:=Table1.fieldbyname("field1").asstring+" "+Table1.fieldbyname("field2").asstring;
end;


 
yozhik   (2002-05-29 12:42) [12]

в принципе решение правильное, но при скроле переменная будет изменятся, и востановление значения предыдущего поля будет невозможно...

я нашел другой способ, использование массива...


 
-=Sergeante=-   (2002-05-29 17:08) [13]

Данные в массиве будут определены при открытии запроса. Каждой определённой записи будет соответствовать свой индекс массива. НО! Нет гарантии, что при переоткрытии запроса записи сохранят такую же последовательность (нумерацию) в соответствии с индексами массива.


 
yozhik   (2002-05-29 20:38) [14]

после переоткрытия массив перезаписывается, так как данные сохраняются в базе и возвратов не требуется



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2002.06.24;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.008 c
4-77657
Hammer
2002-04-20 16:08
2002.06.24
Каверзный вопрос


6-77526
Freddy
2002-04-16 10:39
2002.06.24
SMTP/POP3 сервер


14-77560
Song
2002-05-20 10:55
2002.06.24
Чего-то форум колбасит... Или только у меня?


14-77609
arbiter
2002-05-20 22:18
2002.06.24
Свобода слова или нет?


1-77332
chernoruk
2002-06-11 07:14
2002.06.24
Вид формы на разных мониторах





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