[Gelöst] Prüfen, wo der Benutzer die neue Zeile einfügt

22. April 2008 14:33

Im Form gibts bei OnInsertRecord den Parameter BelowxRec. Bei TRUE wird es als letzte Zeile eingefügt. Kann ich ausserhalb (z.B. aus OnValidate eines Feldes aus) diesen Wert aufrufen?

Ziel wäre, aus OnValidate im Form zu prüfen, ob die aktive Zeile im Form die letzte ist oder ob sie mittendrin ist. Vielleicht muss ich das anders vorgehen. Kann mir jemand helfen?

Da ich hier neu bin, möchte ich wissen, ob ihr eure eigene Netikette habt. :-)

_____________

Gruss
Michelle
Zuletzt geändert von Michelle am 19. Mai 2008 16:09, insgesamt 1-mal geändert.

9. Mai 2008 09:32

Guten Morgen Michelle,
speichere dir den den parameter in einer Globalen Variablen der Form, dann kannst du ihn überall auswerten.
Achte aber darauf, wie in der Form selbst programmiert ist. Bei der Eingabe von Auftragszeilen wird der entsprechend Trigger durch Programmierung innerhalb der Form zweimal durchlaufen.
Hier der Code:
Form - OnNewRecord()
Type := xRec.Type;
CLEAR(ShortcutDimCode);
// +++++++++++++++
GBelowXrec := BelowxRec;
// +++++++++++++++

Schönes Pfingsten

9. Mai 2008 10:55

Hallo Michelle,

vermutlich hast keine andere Möglichkeit als mit einer anderen Variable zu klären ob es noch nachfolgende Datensätze gibt. Das kannst Du im OnGetCurr... Trigger einmal machen und in einer Globalen Variable speichern. Sonst hast Du den richtigen Wert ja nur wenn der DS gerade neu eingefügt wurde.

19. Mai 2008 16:08

Danke für eure Hilfe.

Mit Variable gehts.

____________________

Gruss
Michelle

21. Mai 2008 18:40

Wenn Du das nicht nur beim einfügen wissen willst, sondern auch beim Bearbeiten, dann kann der folgende Code helfen:

Code:
if next = 0 then
  LastRecord:=True  //ich bin auf dem letzten Datensatz
else
  LastRecord:= (next(-1) =0); //es war nicht der letzte also zurück zu meinem Datensatz