Einzelnen Beitrag anzeigen

Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#1

20 Datasets verallgemeinern

  Alt 29. Okt 2003, 20:05
Hi,

folgendes Problem: ich habe 20 Tabellen mit statistischen Daten. Diese sollen grafisch aufbereitet werden. Z.B. Umsatz-Jahresübersicht, als Grafik, wo die Monate einzeln aufgeführt werden. Im Prinzip ist das immer dasselbe, nur die Tabellen sind halt unterschiedlich. Ich könnte jetzt das ganze 20mal abkupfern, glaube aber daß es besser irgendwie über Parameter gesteuert wird. Nur wie und wo ?

Delphi-Quellcode:
procedure TForm1.btnStartClick(Sender: TObject);
var i : byte;
    m : MonatsUmsatz;
    homepath : string;
begin
  Series1.Clear;
  Series1.Title := LabeledEdit1.Text;
  Series2.Clear;
  Series2.Title := LabeledEdit2.Text;
  FirmStat.Title.Text [0] := 'Firmen - Statistik '+LabeledEdit1.Text+'/'+LabeledEdit2.Text+' in 1000 €';
  FirmStat.Visible := true;
// Button2.Visible := true;
  CASE Auswahl.ItemIndex OF
    1 : s := UmsatzListe;
    2 : s := RGliste;
    3 : s := MengenListe;
  END;
  WITH StatModul.FirmStatDS DO BEGIN
    close;
    SelectSQL.Text := 'SELECT * FROM FIRMSTAT8 WHERE JAHR ='  + LabeledEdit1.text;
    open;
    IF NOT IsEmpty THEN BEGIN
      for i:= 1 to 12 do BEGIN
        StatUmsatz (m);
        Series1.AddXY(i,m [i]);
      END;
    end
    else
      ShowMessage ('Keine Daten für '+LabeledEdit1.Text+' gefunden !');
    close;
    StatModul.FirmStatDS.SelectSQL.Text :='SELECT * FROM FIRMSTAT8 WHERE JAHR = '+ LabeledEdit2.text;
    open;
    IF NOT IsEmpty THEN BEGIN
      for i:= 1 to 12 do begin
        StatUmsatz (m);
        Series2.AddXY(i,m [i]);
      end;
    end
    else
      ShowMessage ('Keine Daten für '+LabeledEdit2.Text+' gefunden !');
  END;
  FirmStat.visible := true;
  IF clbOptionen.Checked [0] THEN
    FirmStat.Print;
  IF clbOptionen.Checked [1] THEN BEGIN
    homePath:=ExtractFilePath(ParamStr(0));
    SaveDialog1.InitialDir:=homePath;
    SaveDialog1.Title := 'Bitmap - Grafik speichern';
    SaveDialog1.FileName := 'GRAFIK.BMP';
    if SaveDialog1.Execute then
      FirmStat.SaveToBitmapFile (SaveDialog1.FileName);
  END;
  IF clbOptionen.Checked [2] THEN BEGIN
  END;
end;

Vermute, an dieser Stelle müßte man irgendwie was ändern:

'SELECT * FROM FIRMSTAT8 WHERE JAHR ='

Im Anhang ist ein Screenshot, wie das ganze aussieht. Nur soll es eben 20 Tabellen berücksichtigen. Die Grafiken an sich wären fast gleich.
Miniaturansicht angehängter Grafiken
test_335.jpg  
Gruß
Hansa
  Mit Zitat antworten Zitat