Форум: "Базы";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];
Вниз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;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.042 c