Worksheet oder List mit temporärer Sourcetable

6. Dezember 2019 16:30

Hallo zusammen,

ich habe ein Worhsheet (List verhält sich ebenso) mit einer temporären Tabelle. Die Besonderheit ist, dass ich als erstes Eingabefeld ein Nichtprimärschlüsselfeld habe, das benötigt wird um damit Filter für das Primärschlüsselfeld zu setzen. Daher ist DelayedInsert eingeschaltet. Bleibe ich in der Zeile und fülle die Felder nacheinander aus, so passiert nichts. Wenn ich jedoch die Zeile vorher verlasse so erscheint die Fehlermeldung, dass das Primärschlüsselfeld nicht gefüllt ist und die Page wird sofort nicht mehr editierbar. Die Zeile kann ich dann mit zwei Klicks löschen, muss aber die Page schließen und neuanfangen, da ich sonst nicht weiterarbeiten kann. Ich habe den Vorgang mit einer nicht temporären Tabelle ausprobiert und bekomme das gleiche Problem.

Kann jemand sagen, warum die Page nicht mehr editierbar ist nach der Fehlermeldung? Kann jemand sagen, wie man sie wieder editierbar bekommt?

MfG
Koni

Re: Worksheet oder List mit temporärer Sourcetable

6. Dezember 2019 16:44

Hallo,

Hast du eine Zeilennummer im Primärschlüssel, und Autosplitkey an?

Gruß Fiddi

Re: Worksheet oder List mit temporärer Sourcetable

6. Dezember 2019 18:21

Zweites Feld des Primärschlüssels ist eine Zeilennummer. Autosplitkey ist an.

Um das Problem zu lösen habe ich das Primärschlüsselfeld mit einem gefilterten Wert vorbelegt. Diesen kann der Benutzer im Nachhinein ändern. Da in den meisten Fällen sowieso nur ein Datensatz existiert, scheint dies ein gangbarer Weg zu sein.

Vielen Dank für die Nachfrage und Hilfe.

Ich lasse das Thema noch offen, da die ursprünglichen Fragen noch nicht beantwortet wurden.

Re: Worksheet oder List mit temporärer Sourcetable

9. Dezember 2019 21:06

Die Worksheet Pages 39 und 40 haben im Standard DelayedInsert. Vergleiche doch mal deine Page mit diesen ob dir da was auffällt. Auch dort ist ja üblicherweise kein Feld aus dem Primärschlüssel aufgeblendet aber der Buch.-Blattname wird oben als Filter angegeben.

Re: Worksheet oder List mit temporärer Sourcetable

10. Dezember 2019 17:32

Durch Eingabe des Wertes für Buch.-Blattname wird ein Filter für die Primärschlüsselfelder gesetzt. Bei Worksheets ist es normal, dass die Primärschlüsselfelder der Zeilen mit Ausnahme von Zeilennummern mit dem Filterwert vorbelegt werden. Die Zeilennummer wird im zweiten Schritt oder beim Insert berechnet.

Der Unterschied dieser beiden Pages zu meiner eigenen Page ist, dass ich keine Filter gesetzt habe.

Nochmal meine Frage: Warum wird die Page nicht editierbar, wenn die Zeile keine gefüllten Primärschlüsselfelder hat und der User aus der Zeile rausspringt?

Re: Worksheet oder List mit temporärer Sourcetable

10. Dezember 2019 22:18

Koni hat geschrieben:Nochmal meine Frage: Warum wird die Page nicht editierbar, wenn die Zeile keine gefüllten Primärschlüsselfelder hat und der User aus der Zeile rausspringt?

Da Du DelayedInsert auf Yes gesetzt hast, sorgt dies dafür, dass der Datensatz nicht sofort inserted wird, sondern erst dann, wenn das Primärschlüsselfeld gefüllt ist. Und anscheindend ist bei Deinem Primerschlüsselfeld das Property "NotBlank" auf Yes gesetzt (in der Tabelle oder Page), deshalb die Fehlermeldung. Wenn Du den Wert für Primerschlüsselwert erst beim Erfassen irgend eines anderen Wertes in Deinem anderen Feld ermittelst, dann müßtest Du im OnValidate-Trigger dieses Feldes in der Page den INSERT per Programmcode auslösen.