Конференция "Базы" » Группировка по месяцам
 
  • RamzesIII © (05.11.08 23:21) [0]
    есть ситуация:надо построить диаграмму продаж по месяцам...месяц выбирается из MonthComboBox,год вводится в YearEdit.
    при нажатии на кнопку выполняется процедура:
    procedure TFormVvodMes.BitBtn1Click(Sender: TObject);
    var MaxDay: integer;
    begin
    formDiagProd.Query1.Filtered:=false;
    FormDiagProd.Query1.Active:=false;
    FormDiagProd.Query1.SQL.Clear;
    FormDiagProd.Query1.SQL.Add('SELECT Diski.Nazvanie, SUM( Prodazha.Kolichectvo ),chek.data');
    FormDiagProd.Query1.SQL.Add('FROM "prodazha.DB" Prodazha INNER JOIN "diski.DB" Diski ON (Prodazha.Shtrih_kod = Diski.Shtrih_kod)  INNER JOIN "chek.db" Chek ON  (Prodazha.Kod_cheka = Chek.Kod_cheka)');
    FormDiagProd.Query1.SQL.Add('GROUP BY Diski.Nazvanie, chek.data');
    FormDiagProd.Query1.Active:=true;
    MaxDay:=0;
    case (MonthComboBox.ItemIndex) of
     0,2,4,6,7,9,11:  MaxDay := 31;
     3,5,8,10:  MaxDay := 30;
     else     MaxDay := 28;
    end;
    FormDiagProd.Query1.Filter :=
       Format(' Data>=''' + '01.%.02d.%d' + '''   and    Data<='''+'%.02d.%.02d.%d'+'''',
          [ MonthComboBox.ItemIndex+1, StrToInt(YearEdit.Text),  MaxDay,
            MonthComboBox.ItemIndex+1, StrToInt(YearEdit.Text) ] ) ;
    FormDiagProd.Query1.Filtered:=true;
    YearEdit.Clear;
    FormVvodMes.Close;
    FormDiagProd.QuickRep1.Preview;
    end;

    Но эть одна проблема:диаграмма строится только если за месяц сохранилась только 1 запись в таблице "Chek"юююесли же за месяц имеется более одного чека,то выдает ошибку...

    Что можно сделать,чтобы диаграмма все таки строилась???
 
Конференция "Базы" » Группировка по месяцам
Есть новые Нет новых   [134477   +39][b:0][p:0]