Autor Thema: nach Fehlerbehandlung wieder in Dialogbox zurückkehren  (Gelesen 2011 mal)

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
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
.....

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
« Letzte Änderung: 21.05.08 - 11:12:48 von Bille »
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

klaussal

  • Gast
Re: nach Fehlerbehandlung wieder in Dialogbox zurückkehren
« Antwort #1 am: 21.05.08 - 11:09:05 »
Goto ?

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Re: nach Fehlerbehandlung wieder in Dialogbox zurückkehren
« Antwort #2 am: 21.05.08 - 11:12:33 »
Ach, das war ja einfach!

Danke Klaus!
 :D
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

klaussal

  • Gast
Re: nach Fehlerbehandlung wieder in Dialogbox zurückkehren
« Antwort #3 am: 21.05.08 - 11:14:10 »
Gern geschehen !

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: nach Fehlerbehandlung wieder in Dialogbox zurückkehren
« Antwort #4 am: 21.05.08 - 11:50:20 »
Gibt es eine Möglichkeit, dass ich wieder in die Dialogbox zurückkommen kann?

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
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 249
  • Geschlecht: Männlich
Re: nach Fehlerbehandlung wieder in Dialogbox zurückkehren
« Antwort #5 am: 21.05.08 - 11:53:29 »
Sehe ich auch so, es muss aber wohl heissen:
If Not Source.DialogBoxCanceled Then

-Werner

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: nach Fehlerbehandlung wieder in Dialogbox zurückkehren
« Antwort #6 am: 21.05.08 - 11:56:51 »
Sehe ich auch so, es muss aber wohl heissen:
If Not Source.DialogBoxCanceled Then

Upps. Werner, du hast natürlich vollkommen recht. Sorry, da war ich zu schnell. Danke für die Korrektur.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Bille

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Weiblich
  • Ich kam, sah und ... staunte!
Re: nach Fehlerbehandlung wieder in Dialogbox zurückkehren
« Antwort #7 am: 21.05.08 - 13:41:40 »
Ja, Ihr habt recht. So ist das natürlich noch besser.
Danke!
Experience is the name
everyone gives to his mistakes.
                                             (Oscar Wilde)

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz