Hallo City Light,
Es soll in einer Schleife laufen :
1. Eingabe Art.Nr. (das ist das besagte Feld)
2. Editieren der anderen Felder
3. wieder bei 1. anfangen
Damit ich hier keine Endlosschleife produziere ist die Ende-Bedingung halt mein Ende-Button. Da ich keinen Preis ändern kann, sofern die Art.Nr. noch gar nicht bekannt ist, darf das Feld nicht leer sein. NUR in einem Fall : ich will etwas anderes machen ! Z.B. weil ich die Nr. gar nicht weiß.
Code:
procedure TKGeingabe.Edit1Exit(Sender: TObject);
begin
IF StrVorhanden (Edit1.Text) THEN BEGIN
Edit1.Enabled := false; // KG-Nr. nicht editierbar
WITH DataModule2.KGdatenSatz DO BEGIN
// hier wird der Datensatz gesucht usw.
END;
DBedit2.SetFocus; // Focus auf erstes
DB-Feld
END
ELSE
Edit1.SetFocus;
end;
Wie man sieht, wird Edit1.SetFocus immer aufgerufen, falls Edit1.text leer ist und jemand versucht, das Feld trotzdem zu verlassen. Dadurch erreiche ich einerseits, daß die Felder erst benutzt werden können, sofern ein Datensatz verfügbar ist, aber an den Ende Button komme ich so auch nicht dran. Das SetFocus funktioniert zwar, aber es ist in diesem Fall zu "streng".
Gruß
Hansa
@Admin : obiger Quelltext ließ sich bei mir nicht in ein Code - Fenster bringen. ?????
Syntax hinzugefügt&UBBCode entdeaktiviert - FuckRacism