Einzelnen Beitrag anzeigen

MkA2k

Registriert seit: 20. Okt 2006
9 Beiträge
 
#1

Wenn Table1 durchlaufen ist dann weiter zur table2 usw.

  Alt 5. Nov 2006, 22:05
Datenbank: MYSQL • Version: 5.0.18 • Zugriff über: ADO
Hi,

ich stehe vor einem Problem. Ich möchte gerne von mehrern Tabellen die Zeile einzeln berechen und erst wenn die Tabelle am ende ist soll es zur nächsten gehn, leider liest er mir nur die erste Zeile aus und geht dann gleich zur nächsten Tabelle.

Ich denke ich hab da einen kleinen Logikfehler mit den For Schleifen.

Delphi-Quellcode:
procedure tfrm_totalstd.listing;
var
start,ende,pause : TDateTime;
i,j,row_tab : Integer;
totalmon :string;
a:real;
list:tlist;
begin
totalstd.Clear;
list := Tlist.Create;
//table mit monat,jahr und monatsstd
mainform.query.SQL.Text := 'SELECT * FROM opt';
mainform.sqlconnect.Connected := TRUE;
mainform.query.Open;

While Not mainform.query.Eof do
begin
  with lv.Items.Add do begin
  caption:=(mainform.query.fieldByName('monat').AsString);
  SubItems.Add(mainform.query.fieldByName('jahr').AsString);
  SubItems.Add(mainform.query.FieldByName('m_std').AsString);
 mainform.query.Next;
end;
end;
 for i:=0 to lv.Items.Count-1 do
  begin

  mainform.query.SQL.Text := 'SELECT count(*)as Anzahl FROM '+lv.items[i].caption+'_'+AnsiReplaceStr(lv.Items[i].SubItems[0], '20', '')+'';
  mainform.query.Open;
  row_tab := mainform.query.fieldByName('Anzahl').AsInteger;
  mainform.query.Close;
  for j:=0 to row_tab do
 begin
   mainform.query.SQL.Text := 'SELECT * FROM '+lv.items[i].caption+'_'+AnsiReplaceStr(lv.Items[i].SubItems[0], '20', '')+'';
   mainform.query.Open;
   start := StrToTime(mainform.query.FieldByName('beginn').AsString);
   ende := StrToTime(mainform.Query.FieldByName('ende').AsString);
   pause := StrToTime(mainform.query.fieldbyName('pause').AsString);
   totalmon:=FloatToStr(24*(ende-start-pause));
   listbox1.Items.Add(totalmon);
    mainform.query.next;

     //list.Add(totalmon);
end;

 with totalstd.Items.Add do begin
      Caption :=lv.Items[i].Caption+' - '+lv.Items[i].SubItems[0];
      SubItems.Add(lv.Items[i].SubItems[1]);
    // subitems.Add(floattostr(a));

end;
end;
end;
Sorry das der Code schlampig formatiert ist, aber ich hab schon x Varianten ausprobiert und dabei ist die formatierung verloren gegangen

Ich Danke euch!!

MfG

MkA2k
  Mit Zitat antworten Zitat