Falscher aktiver Datensatz bei Scrollen in Subform

5. Juni 2008 11:24

Hallo zusammen,

Szenario:
Das Mainform veranlasst beim Öffnen in einem Subform die Erzeugung einer temporären Tabelle, die dann dort in Listenansicht angezeigt wird. In der Liste lassen sich Werte ändern; mit dem Ändern werden Datensätze in einer realen Tabelle erzeugt oder geändert.

Problem:
Klappt alles hervorragend, wenn alle Datensätze ins Subform passen oder die Auswahl des zu ändernden Datensatzes in über Pfeiltasten oder Maus erfolgt. Sobald mit PageUp oder PageDown oder Rollrad gescrollt wird, passiert folgendes. Wird im untersten Datensatz des Forms (nicht unbedingt das Tabellenende) eine Änderung vorgenommen, wird diese nicht im gewählten sondern im obersten dargestellten Datensatz gespeichert.

Kennt jemand dieses Problem und weiß Abhilfe? (Objektstand: 3.7; Technisch 5.0)

5. Juni 2008 20:11

Erfolgt die Anzeige und Verarbeitung der temporären Records wie im Standard auch (z.B. Form 6510)? Ich meine hier die Formtrigger.

Oder wird die in 5.0 neue Eigenschaft SourceTableTemporary genutzt?

6. Juni 2008 08:01

Hallo Natalie,
freue mich über dein Engagement! Hab mir das von dir vorgeschlagene Form angesehen und der Aufbau scheint identlisch:

Form - onFindRecord
tPOT:=Rec;
IF NOT tPOT.FIND(Which) THEN
EXIT(FALSE);
Rec:=tPOT;
EXIT(TRUE);


Form - onNextRecord
tPOT:=Rec;
CurrentSteps:=tPOT.NEXT(Steps);
IF CurrentSteps<>0 THEN
Rec:=tPOT;
EXIT(CurrentSteps);


Hast du ne Idee?

6. Juni 2008 08:20

Hm, dann mach doch mal den Gegentest:
Hinterlege mal zu einer Auftragszeile so viele Artikelverfolgungszeilen, dass die Form 6510 voll ist und arbeite jetzt mal mit PageUp etc.
Wenn das Problem auch dort besteht, liegts also nicht an dir ;-)

6. Juni 2008 09:41

... ne, tritt bei Artikelverfolgungszeilen nicht auf ... liegt wohl an meiner Programmierung. F6510 ist allerdings auch kein Subform.
Ein Test, in dem ich das Form nicht als Subform angesprochen habe, ergab, dass auch hier das Problem mit PageDown und Co. auftritt. Wird vor dem Schreiben eine Pfeiltaste betätigt, Schreibt NAV übrigens korrekt.
Zuletzt geändert von eyara am 6. Juni 2008 10:02, insgesamt 1-mal geändert.

6. Juni 2008 09:52

Ich würde unabhängig davon, dass F6510 keine Subform verwendet, die beiden Forms genau miteinander vergleichen (mit deiner Subform!). Achte insbesondere auf die Form- und Table-Box-Eigenschaften; kontrolliere nochmal alle Formtrigger.