Einzelnen Beitrag anzeigen

poterp

Registriert seit: 27. Mär 2005
175 Beiträge
 
#1

Tchart und Access DB

  Alt 28. Aug 2006, 18:39
Hallo Freunde,

Ich habe ein Problem und zwar ich möchte die Daten, was ich auf ein Access DB habe Graphisch darstellen, und Zwar Links vertikal soll bestimmt Name aus der DB übernohmen werden und horizontal unter Zahlen. ich habe die verbindung mit Jet ole hergestellt und weiter weisse ich nicht kann mich jemanden helfen???? ich benutze Delphi 2005 Architekt und Teechart 4.04

Grüß
Poter

meine Code


Delphi-Quellcode:
procedure TForm1.Button13Click(Sender: TObject);
const FieldName0 = 'Ereignis_name';
       FieldName1 = 'Positiv';
       FieldName2 = 'Neutral';
       FieldName3 = 'Negativ';
       FieldName4 = 'ohne Wertung';
       Max_data_count = 10;
var i,j, v1, v2, v3, v4 : integer;
   name : AnsiString;
 p : TChartSeriesList;
begin
  Chart1.Title.Text.Clear;
  Chart1.Title.Text.Add('Chart1 Title'+ ComboBox3.Text);
  Chart1.Title.Text.Add(DBLookupComboBox6.Text);
  Chart1.Title.Text.Add( 'Bezugsubjekt:'  + ComboBox3.Text);
  Chart1.Title.Text.Add('Geschäftsfeld:'  + ComboBox4.Text);
  Chart1.Title.Text.Add( 'Bezugsgebiet:'  + ComboBox5.Text);
  Chart1.Title.Text.Add( 'Zeitbezug:'  + Tabsheet1.Caption);
  Chart1.Title.Text.Add( 'Urheber:'  + ComboBox6.Text);
 // Chart1.Series[0].Add(70,'');
 // Chart1.Series[1].Add(90,'');
 // Chart1.Series[2].Add(80,'');
 // Chart1.Series[3].Add(90,'');

//ShowMessage('Series count = ' + IntToStr(Chart1.SeriesCount));

 tbl_data.First;
 i:=0;
 // clear series
  Chart1.Series[0].Clear;
  Chart1.Series[1].Clear;
  Chart1.Series[2].Clear;
  Chart1.Series[3].Clear;
   labels.Clear;
while (not tbl_data.Eof) do
begin
    name:= tbl_data.FieldByName(FieldName0).AsString;
    v1 := tbl_data.FieldByName(FieldName1).AsInteger;
    v2 := tbl_data.FieldByName(FieldName2).AsInteger;
    v3 := tbl_data.FieldByName(FieldName3).AsInteger;
    v4 := tbl_data.FieldByName(FieldName4).AsInteger;
    tbl_data.Next;

// chart1.Series[0].
   // Chart1.
    labels.Add(name);
    Chart1.Series[0].Add(v1, '');
    Chart1.Series[1].Add(v2, '');
    Chart1.Series[2].Add(v3, '');
    Chart1.Series[3].Add(v4, '');
    inc(i);
    if (i > max_data_count) then break;
 end;


end;

procedure TForm1.Button14Click(Sender: TObject);

const FieldName0 = 'Ereignis_name';
       FieldName1 = 'Positiv';
       FieldName2 = 'Neutral';
       FieldName3 = 'Negativ';
       FieldName4 = 'ohne Wertung';
       Max_data_count = 10;
var i,j, v1, v2, v3, v4 : integer;
 p : TChartSeriesList;
begin
ShowMessage('Series count = ' + IntToStr(Chart1.SeriesCount));

 tbl_data.First;
 i:=0;
 // clear series
  Chart1.Series[0].Clear;
  Chart1.Series[1].Clear;
  Chart1.Series[2].Clear;
  Chart1.Series[3].Clear;

 while (not tbl_data.Eof) do
begin
    v1 := tbl_data.FieldByName(FieldName1).AsInteger;
    v2 := tbl_data.FieldByName(FieldName2).AsInteger;
    v3 := tbl_data.FieldByName(FieldName3).AsInteger;
    v4 := tbl_data.FieldByName(FieldName4).AsInteger;
    tbl_data.Next;
    Chart1.Series[1].Add(v1, '');
    Chart1.Series[2].Add(v2, '');
    Chart1.Series[3].Add(v3, '');
    Chart1.Series[4].Add(v4, '');
    inc(i);
    if (i > max_data_count) then break;
 end;


end;


procedure TForm1.FormCreate(Sender: TObject);
begin
 labels := TStringList.Create;
end;

procedure TForm1.Chart1GetAxisLabel(Sender: TChartAxis; Series: TChartSeries;
  ValueIndex: Integer; var LabelText: string);
begin
    if (labels.Count > 0) and (ValueIndex >0)
    then
    begin
    if (valueIndex <= labels.count) then LabelText := labels[ValueIndex];

    end;
end;
[edit=Sharky]Delphi-Tags gesetzt. Mfg, Sharky[/edit]
  Mit Zitat antworten Zitat