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

Обработка БД Access 2000   Найти похожие ветки 

← →
sdc-alex   (2009-07-07 19:45) [0]

Подскажите, почему в нижеследующем коде не происходит сохранение данных. В гриде отображаются, но при попытке перейти к другой записи все сбрасывается?

procedure TMainForm.CalcFields;
var
 PrevData9,PrevData12: Integer;
begin
  DataModule1.MainTableElectro.Open;
  DataModule1.MainTableElectro.Edit;
if DataModule1.MainTableElectro.Bof <> true then
 begin
   DataModule1.MainTableElectro.Prior;  // шаг назад
   PrevData9 := DataModule1.MainTableElectroActive9.AsInteger; // сохранить 9 яч.
   PrevData12 := DataModule1.MainTableElectroActive12.AsInteger;  // сохранить 12 яч.
   DataModule1.MainTableElectro.Next;   // шаг вперед
   // рассчитать значения полей
   DataModule1.MainTableElectro.Edit;
   DataModule1.MainTableElectro.FieldValues["Sum9"] := DataModule1.MainTableElectroActive9.AsInteger - PrevData9;
   DataModule1.MainTableElectro.FieldValues["Sum12"] := DataModule1.MainTableElectroActive12.AsInteger - PrevData12;
   DataModule1.MainTableElectro.Post;
 end;

end;


← →
sniknik ©   (2009-07-07 19:57) [1]

> все сбрасывается?
а у тебя эта функция с Open на каждом переходе между строк вызывается? тогда ничего удивительного.


← →
sdc-alex   (2009-07-07 21:04) [2]

Функция с open вызывается только при добавлении новой строки и при редактировании строки. Это не функция обработки вычисляемых полей.


← →
sniknik ©   (2009-07-07 22:17) [3]

тогда резонный вопрос - зачем ты привел совершенно не связанную с проблемным местом (переход к другой записи)  функцию? что ты хочешь, чтобы мы тут в ней нашли?


← →
Anatoly Podgoretsky ©   (2009-07-08 08:47) [4]

Что творишь


← →
sdc-alex   (2009-07-09 21:44) [5]

В обработчике перехода к другой записи нет ни каких операций. Вообще пока описаны только функции добавления записи, редактирования и удаления.

P.S. Указанная мною функция выполняется сразу после добавления новой записи (после выполнения Post). Добавление, редактирование и удаление проходит нормально. К базе обращаюсь через ADO, пишу под Win32

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


← →
Сергей М. ©   (2009-07-10 08:25) [6]


> функция выполняется сразу после добавления новой записи
> (после выполнения Post)


А тогда зачем нужен вызов Open ?
Post же не может работать, если НД не открыт .. А если он открыт, то зачем его тут же еще раз открывать ?
Или этот Open относится совсем к другому НД, нежели к тому к которому привязан грид ?



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

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



Память: 0.46 MB
Время: 0.007 c
15-1247249008
AlexDan
2009-07-10 22:03
2009.09.13
textarea и Java


2-1247490487
TStas
2009-07-13 17:08
2009.09.13
Какое сообщение послать чужому окну, чтобы оно развернулось?


15-1247689802
Юрий
2009-07-16 00:30
2009.09.13
С днем рождения ! 16 июля 2009 четверг


2-1247507570
AlexDan
2009-07-13 21:52
2009.09.13
странички PageControl..


4-1217319477
Nucer
2008-07-29 12:17
2009.09.13
Достать текст из TStringGrid чужого окна




   Наверх