Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Lokutus am 21.08.02 - 23:37:22
-
Wie (wo) muß ich Script eingeben, wenn ich will, dass eine Script-Formel ausgeführt wird, wenn ich das Feld änder (Listenfeld).
Falls es in so ein OnEnter kommt, wie sollte ich da fuer folgenden Code den Kopf und das Ende des Scriptes machen? Da gibt es ja kein vorgefertigtes leeres Script...
Dim ws As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Set uidoc = ws.CurrentDocument
Set doc=uidoc.Document
If (doc.Kategorie(0)="Normpumpe") Then
If (doc.Art(0)="Montage") Then
doc.Erg=2.5
Else
doc.Erg=1.5
End If
End If
If (doc.Kategorie(0)="Gliederpumpe") Then
If (doc.Art(0)="Montage") Then
doc.Erg=8
Else
doc.Erg=4
End If
End If
If (doc.Kategorie(0)="Vakuumpumpe") Then
If (doc.Art(0)="Montage") Then
doc.Erg=2.5
Else
doc.Erg=2
End If
End If
If (doc.Kategorie(0)="Seitenkanalpumpe") Then
If (doc.Art(0)="Montage") Then
doc.Erg=4
Else
doc.Erg=1.5
End If
End If
If (doc.Kategorie(0)="Sonderpumpe") Then
If (doc.Art(0)="Montage") Then
doc.Erg=4.25
Else
doc.Erg=2.25
End If
End If
If (doc.Kategorie(0)="") Then
doc.Erg=0
End If
uidoc.Refresh
Danke...
Lokutus
-
Hi Lokutus
Du könntest das wie folgt machen:
Für das Schlüsselwortfeld "Kategorie" setzt Du die Option"Felder bei Schlüsselwortänderung aktualisieren". Das findest Du in den Feld-Eigenschaften im 2. Tab. Dadurch wird das Event PostRecalc ausgelöst, wenn Du ein Schlüsselwort änderst.
Die Script-Programmierung wäre dann wie folgt:
====>
(Declarations)
Dim Kategorie_Old as String
Postopen
Kategorie_Old = Source.FieldGetText("Kategorie")
Postrecalc
if Kategorie_Old <> Source.FieldGetText("Kategorie") then
... hier dann Deine Formel OHNE uidoc.Refresh !!! ...
end if
Kategorie_Old = Source.FieldGetText("Kategorie")
'<==== Ende
Das sollte funktionieren. Das ganze kannst DU auch noch im QuerySave machen.
Gruß
Andreas