-
есть ситуация:надо построить диаграмму продаж по месяцам...месяц выбирается из 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"юююесли же за месяц имеется более одного чека,то выдает ошибку...
Что можно сделать,чтобы диаграмма все таки строилась???
|