Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 16.02.2009, 21:40
Gene72 Gene72 вне форума
Прохожий
 
Регистрация: 15.02.2009
Сообщения: 2
Репутация: 10
По умолчанию вычисление за один день и за месяц

Помогите с прграммой.

Есть таблица accesse вот такой структуры:

Дата Всего Продано Осталось
01.01.2009 10 4 6
01.01.2009 12 3 9
02.02.2009 5 4 1
02.02.2009 4 3 1
12.02.2009 45 33 12
12.02.2009 60 32 28
12.02.2009 21 20 1

Как подсчитать продано за одну дату и за месяц в ADOTable?

Я делаю вот так:

Код:
procedure TForm1.FormShow(Sender: TObject);
var
 Summ:Integer;
// bm1:TBookmarkStr;
begin
 Summ:=0;
 DataModule2.DataSource1.DataSet:=nil;
// bm1:=DataModule2.ADOTable1.Bookmark;

 DataModule2.ADOTable1.First;
 while DataModule2.ADOTable1.Eof<>true do
  begin
   Summ:=Summ+DataModule2.ADOTable1DSDesigner2.AsInteger;
   DataModule2.ADOTable1.Next;
  end;
// DataModule2.ADOTable1.Bookmark:=bm1;
 DataModule2.DataSource1.DataSet:=DataModule2.ADOTable1;

 Label1.Caption := IntToStr(Summ);
  end;

lmikle: Ну все, следующий, кто не будет использовать теги, получит бан на неделю! Если вам все пофиг, так подумайте о других, ведь неудобно читать!

У меня выводит общее значение столбца. А нужно, чтобы при выделении одной даты, подчитывался результат этой даты. неважно сколько сторк с этой датой, одна или десять. Вобщем нужно суммировать столбец по дате.
Ответить с цитированием
  #2  
Старый 16.02.2009, 22:32
WinnyThePooh WinnyThePooh вне форума
Прохожий
 
Регистрация: 16.02.2009
Сообщения: 31
Репутация: 10
По умолчанию

Если Вам необходим только результат, т.е. не надо потом непосредственно по данным в этой же строке что-то править, сделайте в Access объект типа QUERY с группировкой по дате и групповой операцией сумма по количеству и полями дата и сумма - Access это сделает и правильно и быстро - а в программе считывайте это через объект Table или Query с фильтрацией/ отбором/ поиском - как Вам надо.
Ответить с цитированием
  #3  
Старый 18.02.2009, 12:28
Gene72 Gene72 вне форума
Прохожий
 
Регистрация: 15.02.2009
Сообщения: 2
Репутация: 10
По умолчанию

Далаю в ADOQuery вот такой запрос.
Код:
procedure TForm1.FormShow(Sender: TObject);
begin
DataModule2.ADOQuery1.Close;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.text:=('select sum(Продано) from Таблица1 Group by (Дата);');
DataModule2.ADOQuery1.Open;
Form1.Edit1.text:=DataModule2.ADOQuery1.Fields[0].AsString;

DataModule2.ADOQuery1.Close;
DataModule2.ADOQuery1.SQL.Clear;
DataModule2.ADOQuery1.SQL.text:=('select sum(Продано) from Таблица1 Group by Month(Дата);');
DataModule2.ADOQuery1.Open;
Edit2.text:=DataModule2.ADOQuery1.Fields[0].AsString;
end;

Как сделать так, чтобы при выделении строки с новой датой, месяцом менялись данные в Edit.
Изображения
Тип файла: jpg bd.jpg (33.2 Кбайт, 7 просмотров)

Последний раз редактировалось Gene72, 22.02.2009 в 14:19.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:50.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter