Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
Juliia7
0 / 0 / 0
Регистрация: 10.07.2017
Сообщений: 4
1

Вычисление суммы столбца и вывод его на форму

10.07.2017, 20:57. Просмотров 641. Ответов 8
Метки нет (Все метки)

Помогите, пожалуйста, делфи знаю очень плохо. Как можно вывести итог последнего столбца Сумма при нажатии на кнопку Расчет? И можно ли при изменении значения в Combobox изменять данные таблицы?
0
Миниатюры
Вычисление суммы столбца и вывод его на форму  
Вложения
Тип файла: rar РђСЂС…РёРІ WinRAR.rar (355.6 Кб, 9 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.07.2017, 20:57
Ответы с готовыми решениями:

Вычисление суммы столбца
Как подсчитать общую сумму столбца в DB Grid? И сделать внизу таблицы итого-...

Вычисление суммы столбца
Как подсчитать общую сумму столбца в DB Grid? И сделать внизу таблицы итого-...

Delphi запрос на вычисление суммы столбца
Всем привет требуется помощь, буду краток. помогите пожалуйста, нужно...

Вывод суммы записей столбца в Label
Здравствуйте! Подскажите пожалуйста, как в Label или DBLabel вывести сумму...

Вывод суммы записей столбца adoquery в Label
добрый день, как сделать вывод суммы записей столбца adoquery в Label?

8
qwertehok
2324 / 2225 / 606
Регистрация: 29.08.2013
Сообщений: 14,913
11.07.2017, 06:57 2
Цитата Сообщение от Juliia7 Посмотреть сообщение
делфи знаю очень плохо
прогу сами писали?

Цитата Сообщение от Juliia7 Посмотреть сообщение
вывести итог последнего столбца
2 варианта
1. SQL запрос
2. в цикле по всем строкам пройтись и сложить

Цитата Сообщение от Juliia7 Посмотреть сообщение
при изменении значения в Combobox изменять данные таблицы?
какие данные?
0
kavasaka
113 / 113 / 33
Регистрация: 16.04.2013
Сообщений: 687
11.07.2017, 10:35 3
Я бы сделал в базе 3 таблицы. И связывать их надо числовое с числовым полем (или счетчиком), а не с текстовым!
1
Миниатюры
Вычисление суммы столбца и вывод его на форму  
kavasaka
113 / 113 / 33
Регистрация: 16.04.2013
Сообщений: 687
11.07.2017, 10:42 4
Тогда первая таблица Prod будет связана с DBLookupComboBox Наименование продукции. И при его изменении фильтруются 2 следующие.
таблица yzel - с DBLookupComboBox Наименование узла. И при его изменении фильтруется грид.
А грид с таблицей Zatrat.
Можно и тремя гридами сделать в 3 этажа тоже нормально будет.
1
Juliia7
0 / 0 / 0
Регистрация: 10.07.2017
Сообщений: 4
11.07.2017, 20:07  [ТС] 5
Объясните пожалуйста, как сделать суммирование итогов через SQL запрос?
Delphi
1
2
3
4
5
6
7
8
9
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
ADOQuery1.SQL.Text:='Select Сумма from raschet'; //подсчет суммы
ADOQuery1.Open;
i:= ADOQuery1.Fields[0].AsInteger; //заносим *сумму в переменную i
ADOQuery1.Close;
Edit1.Caption :=inttostr(i); //вывод
end;
Выдает ошибку на необъявленный идентификатор ADOQuery1.
И подскажите пожалуйста, как связать таблицы с DBLookupComboBox?
Да, то что есть в этой программе писала сама.
0
Вложения
Тип файла: rar РђСЂС…РёРІ WinRAR.rar (367.1 Кб, 5 просмотров)
D1973
Модератор
3663 / 2641 / 1286
Регистрация: 21.01.2014
Сообщений: 11,196
Записей в блоге: 3
Завершенные тесты: 1
12.07.2017, 06:41 6
Цитата Сообщение от Juliia7 Посмотреть сообщение
Edit1.Caption :=inttostr(i);
Это что за чудо такое?
Цитата Сообщение от Juliia7 Посмотреть сообщение
как сделать суммирование итогов через SQL запрос?
Вот так
Delphi
1
2
3
ADOQuery1.SQL.Text := 'SELECT Sum([Сумма]) AS Summa FROM raschet'; //подсчет суммы
ADOQuery1.Open;
Edit1.Text := ADOQuery1.FieldByName('Summa').AsString;
1
kavasaka
113 / 113 / 33
Регистрация: 16.04.2013
Сообщений: 687
12.07.2017, 08:43 7
Цитата Сообщение от Juliia7 Посмотреть сообщение
И подскажите пожалуйста, как связать таблицы с DBLookupComboBox?
вот так
1
Миниатюры
Вычисление суммы столбца и вывод его на форму  
kavasaka
113 / 113 / 33
Регистрация: 16.04.2013
Сообщений: 687
12.07.2017, 08:47 8
А в событие onClick DBLookupComboBox1 обработку выбора - например фильтрацию узлов и затрат по значению DBLookupComboBox1.KeyValue
1
Juliia7
0 / 0 / 0
Регистрация: 10.07.2017
Сообщений: 4
12.07.2017, 12:07  [ТС] 9
Спасибо за помощь) А можете еще подсказать, как вывести данные таблиц (при нажатии кнопки в меню Вывод в дос) в документ Word?
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
procedure DsMoveTo(dts: TDataSet; index: integer);
begin
  dts.MoveBy(index-dts.RecNo);
end;
 
function DsNotEmpty(inSet: TDataSet): boolean;
begin
  if not inSet.Active then Result:=false else
  Result := Not (inSet.Bof and inSet.eof);
end;
 
procedure DataSetToMSWord(Ds:TDataSet; WordApp,WordDocument:variant);
var i,j,p,c:integer; table: Variant;
begin
  if not DsNotEmpty(ds) then begin
    ShowMessage('Нельзя вывести отчет в Word, DataSet пустой');
    exit;
  end;
  WordApp.visible:=false;
  c:= Ds.RecordCount+1;
  table:=WordDocument.tables.add(
    WordApp.Selection.Range,
    NumRows:=c, // тут ширина и колво-колонок должно быть уже известно.
    NumColumns:=Ds.FieldCount,
    DefaultTableBehavior:=1,
    AutoFitBehavior:=1
  );
  for i:=1 to Ds.FieldCount do begin
     table.columns.item(i).PreferredWidth:=50;
     table.cell(1,i).select;
     WordApp.Selection.typetext( Ds.Fields[i-1].DisplayLabel );
  end;
  table.rows.item(1).select;
  WordApp.Selection.Font.Bold:=true;
  WordApp.Selection.Font.Size:=12;
  Ds.DisableControls;
  p:=Ds.RecNo;
  Ds.First;
  for i:=2 to c do begin
    for j:=1 to Ds.FieldCount do begin
      table.cell(i,j).select;
      WordApp.Selection.typetext(
        Ds.Fields[j-1].AsString
      );
    end;
    Ds.Next;
  end;
  DsMoveTo(ds,p);
  Ds.EnableControls;
end;
 
 
procedure TForm1.N1Click(Sender: TObject);
var WordApp,doc: Variant;
begin
  WordApp:=CreateOLEObject('Word.Application');
  doc:=WordApp.Documents.Add;
   // вывод датасета в Word
  DataSetToMSWord(ADOTable1,ADOTable2, WordApp, doc);
  WordApp.Visible:=true;
 
end;
 
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  ADOConnection1.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'raschet.mdb;Persist Security Info=False;';
  ADOConnection2.ConnectionString:=
    'Provider=Microsoft.Jet.OLEDB.4.0;Data Source='+ExtractFilePath(Application.ExeName)+'yzel.mdb;Persist Security Info=False;';
  ADOConnection1.Connected:=true;
  ADOConnection2.Connected:=true;
  ADOTable1.Open;
  ADOTable2.Open;
end;
0
Миниатюры
Вычисление суммы столбца и вывод его на форму  
Вложения
Тип файла: rar РђСЂС…РёРІ WinRAR.rar (384.0 Кб, 6 просмотров)
12.07.2017, 12:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.07.2017, 12:07

Вычесление суммы значений столбца БД
Доброго времени суток. У меня такая задача: Имеется БД (любая, где есть...

Составить программу вычисления суммы четных строк элементов матрицы. Вычисление суммы и вывод исходных данных оформись в виде процедуры
Составить программу вычисления суммы четных строк элементов матрицы....

Вычисление суммы отрицательных элементов каждого столбца матрицы
составить программу для вычисления суммы отрицательных элементов каждого...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru