Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Tabellen springen zum letzten Datensatz, warum? (https://www.delphipraxis.net/24608-tabellen-springen-zum-letzten-datensatz-warum.html)

plautzer 24. Jun 2004 15:40

Re: Tabellen springen zum letzten Datensatz, warum?
 
@grayfox
Danke für den Tipp,
aber darum:

Delphi-Quellcode:
dbtext3.Caption := Format('%8.2f', [bru_su])+' €';
geht es mir garnicht.

Das problem liegt darin, dass wahrscheinlich durch das
Delphi-Quellcode:
  while Not Table1.EOF do
  begin
    bru_su := bru_su +Table1.FieldByName('Bruttomiete').AsFloat;
    table1.Next;
  end;
...,er immer zu letzten datensatz geht.

ICh würde gern wissen wie ich das verhindern kann,
oder welches andere Möglichkeit es noch gäbe die SUMME einer spalte zu errechnen?

Ich habe zwar eine lösung, die ist aber nicht wirklich schön udn amcht auch manchmal probleme:

Delphi-Quellcode:
w:=strtoint(e_whg.Text);
bru_su:=0.0;
 while Not Table1.EOF do
  begin
    bru_su := bru_su +Table1.FieldByName('Bruttomiete').AsFloat;
    table1.Next;
  end;
Table1.Locate('whg', inttostr(w), [loCaseInsensitive]);
Und deine procedure funzt auch nicht ganz, der selbe fehler wie bei mir.
Ersten kommt imma die Fehlermeldung dsa die id vorhanden ist, da sie anscheidn mit den eintrag schon geposted wir, keine ahnung wie man das verhindert und zweitens, sie kommt erst nach dem erro von delphi, bringt sozusagen nichts, leider :(


Thx,

Plautzer

plautzer 24. Jun 2004 16:40

Re: Tabellen springen zum letzten Datensatz, warum?
 
ich köötne mri vielleicht vorstellen,
das wenn man id-edit entert, dass die table deaktivert wird, oder irgetnwas macht, das mit der eintrag nicht gleich gespeichert wird und das man dann bei onexit prüft ob die id shcon gibt und dann erst posted, das könnte funzen, was meinst ihr?

ICh weiss bloß nicht was ich machen muss da mit ich die tabelel in den state bekomme, das sie nichts mehr aufnimmt, keine fehlermeldung kommt und trotzdem die anderen daten anzeigt.

Plautzer

Albi 24. Jun 2004 16:53

Re: Tabellen springen zum letzten Datensatz, warum?
 
Ich habe es jetzt mal mit der Table-Kompo probiert und das ganze in das OnExit - Ereignis des Edits eingetragen. Hier mein Versuch und der Funzt. Ist die Whg Nr schon vorhanden gibs ne Meldung, wenn nicht kannste weiterarbeiten.

Code:
Procedurre TForm1.Edit1Exit(...);
Begin
  If Length(Edit1.Text) > 0 Then
  Begin
    If Table1.Locate('WHG_Nr',Edit1.Text,[]) Then
    Begin
      ShowMessage('Die Whg_Nr ist vergeben.');
    end;
  end
  else
  ShowMessage('Ungültige Eingabe');
end;
Und wenn Du Dir den Code von grayfox angeschaut hast, dann sieht das da ganz unten schon die Daten in deiner Table gespeichert werden.

Zitat:

Zitat von grayfox
if Table1.Locate('ID',aID,[]) then begin
ShowMessage(Format('die wohnungsnummer %5d ' + #13#10
+ 'ist bereits angelegt',[aID]));
Edit1.SetFocus
end else begin
if not (Table1.State in [dsInsert, dsEdit]) then
Table1.Append;
Table1.FieldByName('ID').asInteger:= aID
end
]

Wenn Du diesen Punkt rausnimmst, wird nur kontrolliert ob die ID schon da ist. Wenn ja dann wird nicht "gemeckert" wenn doch wird auch geschimpft.


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:14 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz