Domino 9 und frühere Versionen > Entwicklung
Zeilenumbrauch im Text von @prompt
tuxie:
Hast du einen Tip wie ich diese Validierung mit Lotus Scipt mache, habe erst angefangen mich LS zu beschäftigen.
Tschau Ingo
klaussal:
... es fehlen hier noch die ganzen dim's etc.
--- Code: ---'------------- INDEX ------------------------------------------
If Trim(doc.Index(0)) = "" Then
Msgbox "Bitte geben Sie eine Kategorie ein !",16,"Hinweis !"
Exit Function
End If
--- Ende Code ---
das ganze im querysave des doc.
tuxie:
Dim doc As NotesDocument
Set doc = source.Document
If Trim(doc.fahrzeug_kennz(0)) = "" Then
Msgbox "Bitte geben Sie eine Kategorie ein !",16,"Hinweis !"
Exit Function
End If
Ist das so richtig ?
Tschau Ingo
ata:
@Klaussal
... im QuerySAve gibt es dann ein Problem mit dem Exit Function - denn da hast du eine Sub...
... ich validiere am Liebsten vor dem Speichern - also im QuerySave.
... die Liste aller Felder und deren Bezeichnung lege ich in 2 Arrays ab
... diese beiden Listen arbeite ich dann in einer Funktion ab
... die Rückgabe der Funktion ist ein String
... ... der String ist leer, wenn keine Fehler gefunden wurden
... ... ansonsten enthält er die Liste der Feldbezeichnungen, die leer waren
... in der Funktion wird eine Variable iFirst den Index des ersten falschen Feldes angeben - zu diesem Feld wird nach Abbruch der Speicherung der Cursor geführt.
--- Code: ---' Den folgenden Code ins QuerySave der Maske
Dim docThis As NotesDocument
Dim sField( 0 To 1 ) As String
Dim sFName( 0 To 1 ) As String
Dim sResult As String
Dim iFirst As Integer
sField( 0 ) = "Subject"
sFName( 0 ) = "Betreff"
sField( 1 ) = "SendTo"
sFName( 1 ) = "Empfänger"
Set docThis = Source.Document
sResult = ValidateFields( docThis , sField , sFName , iFirst )
If sResult = "" Then
Print "... alles in bester Ordnung ausgefüllt"
Else
Msgbox sResult , 0 , "Abbruch der Speicherung"
ws.CurrentDocument.GoToField( sField( iFirst ) )
Continue = False
End If
Function ValidateFields( docThis As NotesDocument, vField As Variant , vFName As Variant , iFirst As Integer) As String
Dim vValue As Variant
Dim i As Integer
' # Validierung der Feldinhalte im Backend
iFirst = -1
If Not docThis Is Nothing Then
If Isarray( vField ) And Isarray( vFName ) Then
If Ubound( vField) = Ubound( vFName ) And Lbound( vField) = Lbound( vFName ) Then
For i = Lbound( vField ) To Ubound( vField )
vValue = docThis.GetItemValue( vField( i ) )
If Trim( vValue( 0 ) ) = "" Then
ValidateFields = ValidateFields + vFName( i ) + Chr(10)
If iFirst = -1 Then
iFirst = i
End If
End If
Next
If ValidateFields <> "" Then
ValidateFields = "Folgende Felder enthielten keine Werte:" + Chr(10) + Chr(10) + ValidateFields + Chr(10) + Chr(10) + "Bitte geben Sie in diesen Feldern etwas ein"
End If
End If
End If
End If
End Function
--- Ende Code ---
... das wäre mal so ein kleiner Rund-Um-Schlag...
ata
tuxie:
Kann ich jetzt sfield und sfname einfache erweitern?,
Und kann ich dann in meiner Aktion einfach @command([FileSave]) aufrufen oder wie wird gespeichert ??
TSchau Ingo
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln