Domino 9 und frühere Versionen > ND8: Entwicklung

Problem mit QuerySave und Teilmasken

<< < (2/3) > >>

Werner Götz:
Ich kann da Berhard nicht recht geben, selbstverständlich darf jede Teilmaske überprüfen, ob das Speichern fortgesetzt werden soll.

Wichtig ist nur zu verstehen, dass es nur 1 Continue - Feld gibt, welches quasi nacheinander an alle Überprüfungsroutinen weitergereicht wird (also der Maske, der Teilmasken sowie evtl. weitere per "On Event QuerySave from ... " definierte) .
Setzt eine dieser Routinen den Wert Continue auf False, so werden trotzdem noch die weiteren Routinen durchlaufen.

Wichtig ist also, dass man
1. Continue nie auf True setzt (der Wert wurde ja intern schon mit True vorbersetzt)
2. noch besser: als 1. Zeile in den einzelnen QuerySave-Routinen abfragt:
If not Continue then Exit Sub

-Werner

Tom_S:
@Andreas: Ja, das ist wahrscheinlich das sinnvollste, die Funktion für die Prüfung der Teilmasken-Felder in einer Bibliothek zu halten.
Aber wieder etwas dazu gelernt, hat mich heut echt erstaunt, dass das nicht so funktioniert, wie ich dachte ;-)

Also vielen Dank an alle :-)

Liebe Grüße
Thomas

TRO:
Abarbeitungsreihenfolge:

erst QSave der (Haupt-) Maske. Ist Continue = True am Ende dieses QSave wird das QSave der ersten Teilmaske angestoßen.
Ist am Ende des QSave der ersten TM Continue = True, dann wird die nächste TM angepackt, sonst Abbruch des QSave, die weiteren TM werden dann gar nicht mehr behandelt.

Lösungsvorschlag:
den Code des QSave aus der Haupt-Maske rausnehmen und in das QSave einer weiteren, zusätzlichen Teilmakse einbauen und diese Teilmaske gaaanz am Ende der Hauptmaske einbauen.

hth

TRO:

--- Zitat von: Werner Götz am 10.02.10 - 16:45:53 ---Setzt eine dieser Routinen den Wert Continue auf False, so werden trotzdem noch die weiteren Routinen durchlaufen.

--- Ende Zitat ---

Bist Du Dir da sicher?

Tom_S:
@TRO: Ok, das klingt logisch, aber noch eine Teilmaske mehr? Jede weitere Teilmaske verlangsamt da Öffnen und Schließen der Dokumente.

Ich werd das denk ich wie Andreas beschrieben hat machen. Code zur Überprüfung der Teilmasken auslagen und am Anfang vom QuerySave der Hauptmaske aufrufen. Damit kann dann denk ich auch nichts mehr schief gehen.


--- Zitat von: TRO am 10.02.10 - 16:51:29 ---
--- Zitat von: Werner Götz am 10.02.10 - 16:45:53 ---Setzt eine dieser Routinen den Wert Continue auf False, so werden trotzdem noch die weiteren Routinen durchlaufen.

--- Ende Zitat ---
Bist Du Dir da sicher?

--- Ende Zitat ---

Das ist soweit ich weiß falsch. Denn sonst würde bei mir (so wie es bis jetzt noch ist) einmal eine Meldung von der Hauptmaske kommen, dass nicht alle Felder ausgefüllt sind und einmal von der Teilmaske.

Liebe Grüße
Thomas

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln