![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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 - последняя бесплатная версия.