|
#1
|
|||
|
|||
TQuery и TTable
Здравствуйте.
Очень нужна помощь по одному маленькому вопросу, который, как мне кажется, решается легко, но я уже запутался окончательно. Итак: имеется компонент 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; Google в помощь |
#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; И ещё вот какая деталь: при выборе другого значения из выпадающего списка сумма обновляется не по первому клику, а по второму. Что сие значит и как оно решается? |