Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Summa Calculated полей [D7, MsAccess ]


Kyn66 ©   (2007-02-09 14:31:00) 

Мастера! Возможно-ли такое? Сабж? В гриде вывожу таблицу, одно из полей которого Calculated. Внизу через Query пытаюсь выводить сумы столбцов. При обращению к этому полю - ошибка.


Виталий Панасенко   (2007-02-09 18:50:00) [1]

Поле Raznica- фактически ПЕРЕМЕННАЯ...


Виталий Панасенко   (2007-02-09 18:49:00) [2]


> Kyn66 ©   (09.02.07 15:56) [13]
>
>
> > В общем, букварь тебя зовёт - "Прочти меня" :)))
>
>
> Насчет букваря наверное те нуно к нему обратиться! Щелкни
> по Table мышой, затем кликай правой.... -> New Field...
> Type Fiel - Calculated .....
>
>
> procedure TReestrFrm.Rep13OperTblCalcFields(DataSet: TDataSet);
>
> begin
>  Rep13OperTblRaznica.Value := Rep13OperTblSum2.Value -  
>  
>                                           Rep13OperTblSum4.
> Value;
> end;

Тогда ткни в справку по сиквелу...Потому как тупишь на все 100% и даже больше..

SqlSumStr = 'SELECT SUM(Sum1), SUM(Sum2), SUM(Sum3),' +
                           'SUM(Sum4), SUM(Sum2-Sum4),COUNT(*)';
 with SumQuery do
  begin
    SQL.Clear;
    SqlSumStr := SqlSumStr + ' FROM ' + RepTable + ' WHERE P_ID = :p1';
    SQL.Add(SqlSumStr);
    Parameters[0].Value := PerID
  end;


Sergey13   (2007-02-09 16:09:00) [3]

> [13] Kyn66 ©   (09.02.07 15:56)

Ты как нибудь тыкнешь куда нибудь, не понимая куда и... все, тыкалка и отвалится (в лучшем случае). 8-)


Kyn66   (2007-02-09 15:56:00) [4]


> В общем, букварь тебя зовёт - "Прочти меня" :)))


Насчет букваря наверное те нуно к нему обратиться! Щелкни по Table мышой, затем кликай правой.... -> New Field... Type Fiel - Calculated .....


procedure TReestrFrm.Rep13OperTblCalcFields(DataSet: TDataSet);
begin
 Rep13OperTblRaznica.Value := Rep13OperTblSum2.Value -    
                                          Rep13OperTblSum4.Value;
end;


Sergey13   (2007-02-09 15:50:00) [5]

> [10] Kyn66 ©   (09.02.07 15:45)

Ты уж реши сам - есть оно или нет в физической таблице. Ибо противоеречишь сам себе
> [5] Kyn66 ©   (09.02.07 15:16)

Если его "физически не существует" то почему ты к нему в запросе обращаешься?
> [3] Kyn66 ©   (09.02.07 14:56)


Johnmen   (2007-02-09 15:49:00) [6]

Где это поле? Кому оно принадлежит?
ЗЫ
В общем, букварь тебя зовёт - "Прочти меня" :)))


Kyn66   (2007-02-09 15:45:00) [7]

Я с этими полями работаю вплотную. В данном случае поле Raznicaвычисляемое, ибо физически не существует, а принимает значение в процессе работы с таблицей. В данном случае оно вычисляется, как разница между значением поля Sum2и Sum4


Sergey13   (2007-02-09 15:30:00) [8]

> [8] Kyn66 ©   (09.02.07 15:25)

У тебя похоже каша в голове про вычисляемые поля. Вычисляемыми обычно называют поля вычисляемые на клиенте ( которых нет в физической БД) или вычисляемые на сервере (обычно это указывают специально, ибо реже встречается). Вторые есть в физической БД, но их заполнением ведает сервер. Разберись с терминологией.


Kyn66   (2007-02-09 15:25:00) [9]

2 Sergey 13

procedure TReestrFrm.Rep13OperTblCalcFields(DataSet: TDataSet);
begin
Rep13OperTblRaznica.Value := Rep13OperTblSum2.Value - Rep13OperTblSum4.Value;
end;


Johnmen   (2007-02-09 15:22:00) [10]


> Kyn66 ©   (09.02.07 15:16) [5]
> Ессно

С каких пор в Аксесе появились вычисляемые поля?


Sergey13   (2007-02-09 15:17:00) [11]

> [5] Kyn66 ©   (09.02.07 15:16)

А почему тогда оно вычисляемое?


Kyn66   (2007-02-09 15:16:00) [12]


> Есть ли у тебя в таблице, имя которой есть значение переменной
> RepTable, поле Raznica, что ты так смело к нему обращаешься
> в запросе?


Ессно


Johnmen   (2007-02-09 15:03:00) [13]

О-о-о... Как всё запущено...

Есть ли у тебя в таблице, имя которой есть значение переменной RepTable, поле Raznica, что ты так смело к нему обращаешься в запросе?


Kyn66   (2007-02-09 14:56:00) [14]


procedure TReestrFrm.SumQueryBeforeOpen(DataSet: TDataSet);
....
SqlSumStr = 'SELECT SUM(Sum1), SUM(Sum2), SUM(Sum3),' +
                            'SUM(Sum4), SUM(Raznica), COUNT(*)';
  with SumQuery do
   begin
     SQL.Clear;
     SqlSumStr := SqlSumStr + ' FROM ' + RepTable + ' WHERE P_ID = :p1';
     SQL.Add(SqlSumStr);
     Parameters[0].Value := PerID
   end;


Raznica- calculated


procedure TReestrFrm.Rep13OperTblCalcFields(DataSet: TDataSet);
begin
 Rep13OperTblRaznica.Value := Rep13OperTblSum2.Value - Rep13OperTblSum4.Value;
end;


Johnmen   (2007-02-09 14:43:00) [15]


> одно из полей которого Calculated. Внизу через Query пытаюсь выводить сумы столбцов.

Это как это???


Sergey13   (2007-02-09 14:40:00) [16]

> При обращению к этому полю - ошибка.

Какому обращению? Какая ошибка?

ЗЫ: В EhLib-овском гриде это реализовано. Есть желание - качай смотри/используй. 3.6 - последняя бесплатная версия.


Наверх

Титульная страница Поиск, карта сайта Написать письмо