Главная страница
    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-77700
ATLANTIDO
2002-04-21 16:48
2002.06.24
Дочерние окна


3-77265
PSZ
2002-05-30 12:10
2002.06.24
Как в DBGrid в ячейку засунуть рисунок ?


3-77251
DmitryK
2002-05-29 20:11
2002.06.24
ADO в консольных приложениях


4-77656
Rad
2002-04-21 22:38
2002.06.24
GroupBox на WinAPI


14-77552
Satay
2002-05-20 13:14
2002.06.24
Help .....





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