Domino 9 und frühere Versionen > ND6: Entwicklung

nach Fehlerbehandlung wieder in Dialogbox zurückkehren

(1/2) > >>

Bille:
Hi,

der User füllt in einer Dialogbox diverse Felder aus. Nach Drücken des OK-Buttons werden die Feldinhalte auf Plausibilität geprüft.
Wie schaffe ich es, dass bei einem gefundenen Fehler (z. B. das angegebene Datum liegt in der Vergangenheit), der User wieder in die Dialogbox zurückgekehrt?

Momentan sieht mein Code (Ausschnitt) so aus:


--- Code: ---Sub Click(Source As Button)
.....
If Not ws.DialogBox( "DialogTA" , True , True, False, False, False,False, "ANMERKUNGEN", doc , True) Then
Exit Sub
End If

.....
If doc.TerminDatum(0) < Today Then
Msgbox "Das Datum liegt in der Vergangenheit. Bitte ändern!", 48, "Fehler"
Exit Sub
End If
.....
--- Ende Code ---

Durch das Exit Sub in dem Then-Zweig wird natürlich die komplette Routine verlassen und der User muss erneut alle Felder füllen.
Gibt es eine Möglichkeit, dass ich wieder in die Dialogbox zurückkommen kann?

Bille

klaussal:
Goto ?

Bille:
Ach, das war ja einfach!

Danke Klaus!
 :D

klaussal:
Gern geschehen !

Axel:

--- Zitat von: Bille am 21.05.08 - 11:05:02 ---Gibt es eine Möglichkeit, dass ich wieder in die Dialogbox zurückkommen kann?

--- Ende Zitat ---

Dann ist aber Goto nicht unbedingt der Weisheit letzter Schluss.

Hier wäre es besser die Plausibilitätsprüfung innerhalb der Dialogbox zu machen und diese erst zu schließen, wenn die Prüfung positiv war.

Die Prüfung selbst wird im QueryClose-Event der Dialogbox ausgeführt.

Beispiel:
Solange das Feld Feldname leer ist, kann die Dialogbox nicht geschlossen werden.

Sub Queryclose(Source As NotesUIDocument, Continue As Variant)
  If Source.DialogBoxCanceled Then
    If Source.Document.Feldname(0) = "" Then
      Messagebox "Das Feld Feldname darf nicht leer sein.", 16, "Feldprüfung"
      Continue = False
    End If
  End If   
End Sub

Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln