Autor Thema: Eingabevalidierung  (Gelesen 3797 mal)

Offline nieke

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Weiblich
  • I love YaBB 1G - SP1!
Eingabevalidierung
« am: 29.07.02 - 12:26:50 »
Hi!

Ich habe ein kleines Problem mit der Eingabevalidierung:
Bestimmte Felder habe ich durch die Eingabevalidierung zu Pflichtfeldern gemacht. Wenn nun die Eingabe eines dieser Felder fehlt, kommt eine Meldung, wo noch was einzutragen ist. So weit ist ja auch alles i.O.
Nach dieser Meldung kommt jedoch nochmal dieses Standard-Fenter "Möchten Sie dieses Dokument speichern?"
Wie kann das denn abschalten? Es ist ganz schön verwirrend....
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

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: Eingabevalidierung
« Antwort #1 am: 29.07.02 - 12:55:04 »
Hi,

ich habe die Eingabevalidierung in das Querysave-Event der Maske verlegt und prüfe dort ob ein oder mehrere Felder ausgefüllt sind.

Kann zum Beispiel so aussehen:

Sub Querysave(Source As Notesuidocument, Continue As Variant)

Dim doc As NotesDocument

Set doc = source.Document

If doc.Name(0) = "" Then
Messagebox "Sie haben keinen Namen eingeben. Das Dokument kann" _
 & Chr$(10) & "nicht gespeichert werden.", 48, "Adressen - Warnung"
 Call uidoc.GotoField("Name")
 Continue = False
 Exit Sub
End If  'If doc.Name(0) = "" Then

End Sub

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline nieke

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Weiblich
  • I love YaBB 1G - SP1!
Re: Eingabevalidierung
« Antwort #2 am: 29.07.02 - 13:42:48 »
klingt logisch.
Werde ich gleich mal ausprobieren...
DANKE
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline adminnaddel

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 819
  • Geschlecht: Männlich
  • What a wonderful girl, so beautiful und se....;-)
Re: Eingabevalidierung
« Antwort #3 am: 29.07.02 - 14:18:14 »
hallo ihr zwei,

ich habe in meiner test-db ein feld erstellt erstellt und habe es genauso mit Querysave probiert, aber er speichert ohne das ich was im feld name schreiben muss????????????????????????.....WARUM?
warum klappt so etwas immer bei mir nicht
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

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: Eingabevalidierung
« Antwort #4 am: 29.07.02 - 14:29:02 »
Hi,


hast du diese Zeile in deinem Code?

Continue = False

Die verhindert nämlich dass das Dokument gespeichert wird. Oder hast noch irgendwo anders ein Aufruf zum Speichern ?


Axel
 
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline nieke

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Weiblich
  • I love YaBB 1G - SP1!
Re: Eingabevalidierung
« Antwort #5 am: 29.07.02 - 15:46:58 »
... so, hab das jetzt ins Querysave gebaut.
Geht aber immer noch nicht richtig.
Die Meldung, daß ein Feld nicht ausgefüllt ist, kommt zwar aber dieses doofe Fenster, daß mich fragt, ob ich speichern will, kommt immer noch.
Woran kann denn das jetzt liegen?
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

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: Eingabevalidierung
« Antwort #6 am: 29.07.02 - 16:02:39 »
Hi,

versuchst du im Anschluß das Dokument nochmal zu speichern oder zu schließen?

Ich verwende diese Art von Validierung schon x-mal und es läuft immer.

Hast du in den Feldern selbst die Validierungsformel entfernt ?

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline nieke

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Weiblich
  • I love YaBB 1G - SP1!
Re: Eingabevalidierung
« Antwort #7 am: 29.07.02 - 16:20:46 »
Ne, eigentlich habe das nirgendwo. Hier ist mein Script.
So kannst Du ja sehen, was mir vielleicht fehlt:

Sub Querysave(Source As Notesuidocument, Continue As Variant)
     
     Dim doc As notesdocument
     Set doc=source.document
     Dim name As Variant
     name=source.fieldgettext ("Name")
     
     If name ="" Then
           Msgbox "Bitte Name angeben!"
           
           Call source.gotofield ("Name")
           Continue=False            
           Exit Sub
     End If
End Sub
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

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: Eingabevalidierung
« Antwort #8 am: 30.07.02 - 08:09:27 »
Hi,

ich hab dein Script getestet. Das einzigste was ich ändern mußte war die Variable name. Hier hat er mir gleich einen Fehler angezeigt.

Grund: Name ist eine Funktion in Script zum umbenennen von Dateien und kann somit nicht als Variable benutzt werden.

Die Variable selbst ist aber nicht notwendig. Schau dir nochmal mein Script an. Ich greife über die Variable doc auf den Feldinhalt zu.

Nach dem ich die Variable anders benannt habe, lief alles problemlos.

Axel

« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline nieke

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Weiblich
  • I love YaBB 1G - SP1!
Re: Eingabevalidierung
« Antwort #9 am: 30.07.02 - 08:26:06 »
Stimmt, so nimmt er das. Aber... mein Problem ist noch nicht so ganz gelöst.
Er erkennt, daß ich da noch ein Feld ausfüllen und gibt auch die Meldung "Bitte Name angeben".
Danach kommt aber ja erst mein Problem: Diese blöde Meldung "Möchten Sie Ihre Änderungen speichern" kommt IMMER NOCH. Die soll doch weg. Das Dokument soll nach der Meldung, daß ich noch was ausfüllen muß, soll das Dokument einfach im Bearbeitungsmodus sein.
Muß ich da vielleicht an anderer Stelle was an den Einstellungen ändern?
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

Offline pipsxx

  • Aktives Mitglied
  • ***
  • Beiträge: 118
  • Geschlecht: Weiblich
  • Hauptsache, die Haare liegen !! :)
Re: Eingabevalidierung
« Antwort #10 am: 30.07.02 - 08:32:45 »
hallo!!

ich habe das in einer maske folgendermassen:

direkt im feld hab ich bei eingabevalidierung die formel
@If(Feldname != ""; @Success; @Failure("Bitten fuellen Sie das Feld aus."))

wenn der user das feld nicht ausfuellt und versucht das doc zu speichern, dann kommt die fehlermeldung solange, bis etwas drin steht. vor dem kommt auch der "speichern"-dialog nicht. wenn dann alle pflichtfelder ausgefuellt sind, kommt der dialog wieder.

ist ja auch nur logisch, dass der nochmal kommt, weil das doc vorher nicht gespeichert wird / werden kann. da nicht vollstaendig.

vielleicht hilft das weiter? aber irgendwie kann ich mir auch gar nicht vorstellen, wieso der dialog nicht kommen soll. irgendwann muss man das doc doch speichern koennen ;)
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
WinXP, Lotus Notes R 5

Offline pipsxx

  • Aktives Mitglied
  • ***
  • Beiträge: 118
  • Geschlecht: Weiblich
  • Hauptsache, die Haare liegen !! :)
Re: Eingabevalidierung
« Antwort #11 am: 30.07.02 - 08:38:20 »
ah, hab eben noch deinen letzten beitrag gelesen.

ich denke, die formel meines letzten beitrages sollte dir weiterhelfen. das doc bleibt danach ohne speicher-dialog im bearbeitungsmodus.

wie gesagt - so lange, bis alle felder, die eine solche eingabevalidierungsformel enthalten ausgefuellt sind. danach kann man dann wieder speichern :)
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
WinXP, Lotus Notes R 5

Offline nieke

  • Aktives Mitglied
  • ***
  • Beiträge: 107
  • Geschlecht: Weiblich
  • I love YaBB 1G - SP1!
Re: Eingabevalidierung
« Antwort #12 am: 30.07.02 - 08:45:37 »
... alles klar! Ich habe meinen Fehler gefunden.
Lag an der "Speichern und schließen"-Aktion.
Jetzt habe ich da einen Befehl ([FileSave]) rausgenommen und geht das alles so wie ich wollte.
DANKE
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »

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: Eingabevalidierung
« Antwort #13 am: 30.07.02 - 08:46:27 »
@nieke

Weitere Einstellungen gibt es keine. Ich bin so langsam am Ende meiner Ideen angelangt.

Wenn du willst, schick mir mal die Datenbank. Vielleicht finde ich noch was.


@pipsxx

Prinzipiell hast du recht, man kann die Eingabevalidierung auch in den Feldern machen. Da sind die Möglichkeiten aber im Gegensatz zu der Script-Methode im Querysave-Event stark eingeschränkt.

Axel
« Letzte Änderung: 01.01.70 - 01:00:00 von 1034200800 »
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz