Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: iisa am 26.04.06 - 07:50:26

Titel: Datumsauswahl Aktion ausführen
Beitrag von: iisa am 26.04.06 - 07:50:26
Halllo zusammen,

ich bin neu im Bereich Designer und mache gerade eine kleine Vorlage.
Ich habe in einem Feld "Kalender" unter Eingabevalidierung "@If(@Date(@ToTime(W_Termin)) < @Today;@Failure("Datum liegt in der Vergangenheit");@Success)" eingegeben (info von einem anderen Forum), das ermöglicht den User kein Datum in der Vergangenheit zu wählen. Leider kommt das erst beim schließen, möchte aber gerne das es direkt beim auswählen kommt. Wo und was muss ich eintragen?
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: Axel am 26.04.06 - 08:11:19
Alle möglichen Validierungsformeln werden erst beim Speichern des Dokumentes ausgeführt.

Es gibt eine Möglichkeit. In den Feldeigenschaften des Datumsfeldes gibt es die Option "Exiting/OnChange-Ereignisse nach jeder Wertänderung ausführen". Diese Option findest du auf dem Reiter mit dem Propellerhut ganz unten. Im Exiting-Event kannst du dann die Überprüfung durchführen. Allerdings hier nur mit Script.


Axel


Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: iisa am 26.04.06 - 08:40:22
habe das Feld gefunden.... allerdings weiß ich momentan auch nicht wo und was ich im exiting event eingeben muss. Sollte wohl doch erst ne Schulung besuchen...
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: Axel am 26.04.06 - 08:48:11
Ein Möglichkeit wäre das hier:

Code
Sub Exiting(Source As Field)
	
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument

Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
	
If doc.Eingang(0) < Today() Then
	Messagebox "Datum darf nicht in der Vergangenheit liegen", 48, "Warnung"
End If  'If doc.Eingang(0) < Today() Then
	
End Sub


Axel
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: iisa am 26.04.06 - 09:17:04
danke.. habe es eingegeben, funktioniert auch, aber jetzt kommt auch die Meldung wenn ich ein Datum in der Zukunft auswähle!
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: Axel am 26.04.06 - 11:19:38
Bei mir hat's funktioniert. Wie sieht denn dein Code aus?


Axel


Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: iisa am 26.04.06 - 11:55:49
ich habe einfach deinen code kopiert...  ???
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: koehlerbv am 26.04.06 - 12:36:48
Und den Feldnamen angepasst??

Bernhard
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: iisa am 27.04.06 - 08:34:24
da ich nicht genau weiß (Anfänger, mein erstes formular), wo ich das ändern muss, habe ich "doc" ; "uidoc" und "workspace" mit meinem Feldnamen "W_Termin" (jeweils einzeln)  geändert.
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: Axel am 27.04.06 - 08:46:03
Poste doch mal den gesamten Code, den du im Exiting - Event stehen hast. Dann wird mit Sicherheit klarer, wo der Hase im Pfeffer liegt.


Axel
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: iisa am 27.04.06 - 09:03:20
genauso wie oben beschrieben.... kannn den  natürlich noch mal posten.

Sub Exiting(Source As Field)
   
   Dim workspace As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument
   
   Set uidoc = workspace.CurrentDocument
   Set doc = uidoc.Document
   
   If doc.Eingang(0) < Today() Then
      Messagebox "Datum darf nicht in der Vergangenheit liegen", 48, "Warnung"
   End If  'If doc.Eingang(0) < Today() Then
   
End Sub
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: klaussal am 27.04.06 - 09:07:22
 If doc.Eingang(0) ....  muss bei Dir heissen:

 If doc.W_Termin(0) ......
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: Axel am 27.04.06 - 09:11:21
If doc.Eingang(0) ....  muss bei Dir heissen:

 If doc.W_Termin(0) ......

Genau.

Axel
Titel: Re: Datumsauswahl Aktion ausführen
Beitrag von: iisa am 27.04.06 - 09:42:35
superr, danke... hatte erst noch Probleme weil ich unter Eingabevalidierung: @If(@Date(@ToTime(W_Termin)) < @Today;@Failure("Datum liegt in der Vergangenheit");@Success)

habe ich dann gelöscht und funktioniert dann auch.

Danke euch.... super Hilfe