![]() |
|
|
|
|
#1
|
|||
|
|||
|
Здравствуйте.
Очень нужна помощь по одному маленькому вопросу, который, как мне кажется, решается легко, но я уже запутался окончательно. Итак: имеется компонент TTable, в редакторе которого создано 5 Lookup-полей, берущих значения из других таблиц; всё это отображается в DBGrid. В подчиненных таблицах имеются поля денежного типа. Соответственно, когда я выбираю значения из списков, мне нужно рассчитать общую сумму и вывести её в главную таблицу. Запрос я составил, и в SQLExplorer он выводит нужные значения, а вот "подружить" его с TTable я так и не могу. Сделал вот так: Код:
Table1.FieldByName('Cost').AsString:=Query7.Fields[0].Text;Последний раз редактировалось martyr99, 28.04.2012 в 18:14. |
|
#2
|
||||
|
||||
|
Код:
Table1.FieldByName('Cost').AsString:=Query7.Fields[0].Value;Код:
Table1.FieldByName('Cost').AsString:=Query7.Fields[0].AsString; |
|
#3
|
|||
|
|||
|
Делал и с Value, и с AsString - результат тот же. В данный момент код выглядит вот так:
Код:
procedure TForm5.BitBtn5Click(Sender: TObject);
begin
Query7.SQL.Clear;
Query7.SQL.Add('SELECT (MB.Cost+CPU.Cost+RAM.Cost+VC.Cost+HDD.Cost) as Summa');
Query7.SQL.Add('FROM MB, CPU, RAM, VC, HDD, Comp');
Query7.SQL.Add('WHERE Comp.MB=MB.CodeMB');
Query7.SQL.Add('AND Comp.CPU=CPU.CodeCPU');
Query7.SQL.Add('AND Comp.RAM=RAM.CodeRAM');
Query7.SQL.Add('AND Comp.VC=VC.CodeVC');
Query7.SQL.Add('AND Comp.HDD=HDD.CodeHDD');
Query7.Open;
Table1.FieldByName('Cost').AsString:=Query7.Fields[0].AsString;
Table1.Post;
Query7.Close;
end;И ещё вот какая деталь: при выборе другого значения из выпадающего списка сумма обновляется не по первому клику, а по второму. Что сие значит и как оно решается? |