Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: Ozapftis am 29.03.11 - 10:20:10
-
Guten Tag,
ich möchte in einer Maske abfragen ob ein bestimmtes Feld gefüllt ist. Wenn dem so ist, dann kann das Dokument gespeichert werden, wenn nicht soll eine Hinweisbox erscheinen, der User soll diese bestätigen und dann wieder in das Dokument gehen müssen, um dieses eine bestimmte Feld zu füllen.
Hier meine Formel bei der ich das Problem habe, dass Sie dem User die Hinweisbox gibt und nach Bestäigung das Dokument schliesst. Wie mache ich es, dass der User nach der Bestätigung wieder in den Bearbeitenmodus kommt und das Dokument um dne Inhalt des Feldes ergänzt und es erst dann speichern kann?
Vielen Dank für die Hilfe!
@If ( Feldname = "";
@Do (
@Prompt ([Ok]; "Erinnerung";"Bitte das Feld -Name- füllen");
@Command([FileSave]);
@PostedCommand([FileCloseWindow])
);
@Return(0)
)
-
Mach das doch über das QuerySave der Maske.
So wird das Feld beim speichern abgefragt und wenn es leer ist, wird das Speicher abgebrochen und der Focus springt dann auf das leere Feld.
Sub Querysave(Source As Notesuidocument, Continue As Variant)
If ( source.FieldGetText( "FELDNAME" ) = "" ) Then
Messagebox( "Geben Sie bitte eine Wert an." )
Call source.GotoField( "FELDNAME" )
continue = False
Exit Sub
End If
End Sub
Chris
-
Hallo Chris,
danke für diesen Lösungsansatz, aber mit dieser Variante kenne ich mich mal noch so gar nicht aus.
-
Das sollte mit einer simplen Eingabevalidierungsformel für das Feld funktionieren:
@if( @thisValue = "" ; @failure( "deine Meldung" ) ; @success ) ;
In der Aktion zum schließen kannst du abfragen:
@if( @command([fileSave]) ; @command([fileclosewindow]) ; @return( "" ) ;
Hubert
-
Hallo Hubert,
vielen Dank, das hat funktioniert!
Gruß Daniel