Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: CL | DM;

Вниз

Summa Calculated полей   Найти похожие ветки 

 
Kyn66 ©   (2007-02-09 14:31) [0]

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


 
Sergey13 ©   (2007-02-09 14:40) [1]

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

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

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


 
Johnmen ©   (2007-02-09 14:43) [2]


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

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


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


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 15:03) [4]

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

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


 
Kyn66 ©   (2007-02-09 15:16) [5]


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


Ессно


 
Sergey13 ©   (2007-02-09 15:17) [6]

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

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


 
Johnmen ©   (2007-02-09 15:22) [7]


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

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


 
Kyn66 ©   (2007-02-09 15:25) [8]

2 Sergey 13

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


 
Sergey13 ©   (2007-02-09 15:30) [9]

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

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


 
Kyn66 ©   (2007-02-09 15:45) [10]

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


 
Johnmen ©   (2007-02-09 15:49) [11]

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


 
Sergey13 ©   (2007-02-09 15:50) [12]

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

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

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


 
Kyn66 ©   (2007-02-09 15:56) [13]


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


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


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


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

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

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


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


> 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;


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

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



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

Текущий архив: 2007.04.29;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.041 c
2-1176107023
ppcumax
2007-04-09 12:23
2007.04.29
Как архивировать файлы в ZIP архивы?


4-1164309076
Dmitry_177
2006-11-23 22:11
2007.04.29
Обработка WM_LBUTTONDOWN


15-1173797879
oldman
2007-03-13 17:57
2007.04.29
Эх, нам бы так.


8-1155203008
Мопед
2006-08-10 13:43
2007.04.29
Async Professional момент поднятия трубки КАК отловить?


2-1176390032
Roman_S
2007-04-12 19:00
2007.04.29
простой примерчик проверки пароля при запуске