Как вычислить сумму вычисляемого поля?
Query1:
№Накладной Сумма
1
2
3
Query2:
№Накладной Наименование Цена Количество Сумма
1 Мыло 2 2 4
1 Веник 5 3 15
2 Подшипник 1 13 13
2 Стакан 7.05 21 148.05
2 Кабель 20 10 200
Query2Сумма- это вычисляемое поле , Query1№Накладной-это уникальное поле. Как в Query1Сумма засунуть сумму Query2Сумма по номеру накладных?Должно быть так:Query 1:
№Накладной Сумма
1 19
2 361.05
Query2->SQL->Clear();
Query2->SQL->Add("select sum(СУММА) from STR_NAKLAD where ID_NAKLAD="+Query1ID_NAKLAD->AsInteger);
Query2->Open();
Query1Сумма->AsFloat = Query2->Fields->Fields[0]->AsFloat();
Query2->Close();
где
STR_NAKLAD - Таблица со строками накладной
ID_NAKLAD - номер накладной
Цитата:
Originally posted by SEDEGOFF
В Query1 создаешь поле типа Float и в событии OnCalcField пишеь
Query2->SQL->Clear();
Query2->SQL->Add("select sum(СУММА) from STR_NAKLAD where ID_NAKLAD="+Query1ID_NAKLAD->AsInteger);
Query2->Open();
Query1Сумма->AsFloat = Query2->Fields->Fields[0]->AsFloat();
Query2->Close();
где
STR_NAKLAD - Таблица со строками накладной
ID_NAKLAD - номер накладной
В Query1 создаешь поле типа Float и в событии OnCalcField пишеь
Query2->SQL->Clear();
Query2->SQL->Add("select sum(СУММА) from STR_NAKLAD where ID_NAKLAD="+Query1ID_NAKLAD->AsInteger);
Query2->Open();
Query1Сумма->AsFloat = Query2->Fields->Fields[0]->AsFloat();
Query2->Close();
где
STR_NAKLAD - Таблица со строками накладной
ID_NAKLAD - номер накладной
Ты говоришь, что Query2->SQL->Add("select sum(СУММА) from STR_NAKLAD ...Но (Сумма)-это у меня вычисляемое поле в Query2 и я не могу взять это поле и засунуть его в Query1. Или я что-то не понял?
№накладной кодтовара сумма
1 1 12
1 2 3213
1 2342 1231
так вот запрос "select sum(СУММА) from STR_NAKLAD where id_NAKLAD=1"
Возвращает тебе сумму по этой накладной - вот ее и пихай куда хочешь, то есть в Query1 - в созданное вычисляемое поле
Цитата:
Originally posted by SEDEGOFF
У тебя есть таблица с записями
№накладной кодтовара сумма
1 1 12
1 2 3213
1 2342 1231
так вот запрос "select sum(СУММА) from STR_NAKLAD where id_NAKLAD=1"
Возвращает тебе сумму по этой накладной - вот ее и пихай куда хочешь, то есть в Query1 - в созданное вычисляемое поле
У тебя есть таблица с записями
№накладной кодтовара сумма
1 1 12
1 2 3213
1 2342 1231
так вот запрос "select sum(СУММА) from STR_NAKLAD where id_NAKLAD=1"
Возвращает тебе сумму по этой накладной - вот ее и пихай куда хочешь, то есть в Query1 - в созданное вычисляемое поле
Всё-таки я немогу взять данные из вычисляемого поля и перенести их в Query, т.к. вычисляемые поля не отображаются в таблице. Но я зделал следующее:
select sum(Цена * Количество)as Summ from ...group...