Domino 9 und frühere Versionen > ND7: Entwicklung
Formel in Lotus Script ausführen
dani_blues:
Hallo zusammen, ich habe bereits in diesem Thread http://atnotes.de/index.php?topic=41643.0 nach einer Lösung für mein Problem gefragt.
Nachdem dort keine Antwort kam, probier ich es jetzt einfach über einen neuen Thread, da es sich ja eigentlich um ein neues Problem handelt.
Meine Frage: Wie bekomme ich diese Formel in das Exiting eines Feldes? Da geht nur Lotus Script.
@SetField("alter";@DbLookup("":"NoCache"; ""; "Ansicht"; konvert1_2; "Alterandersdok"));
@If(@IsError(alter);@Prompt([Ok];"Hinweis";"Keine Übereinstimmung gefunden");"")
Gruss und Danke
Dani
koehlerbv:
Im anderen Thread ist Dir aber auch schon gesagt worden, dass Dein Konstrukt im Exiting Event nichts taugt. Kein Benutzer ist verpflichtet, das Feld auch zu verlassen.
Bau das in LS (NotesView.GetDocumentByKey) ins PostRecalc rein, dann wird das auch im QuerySave ausgeführt und bei F9. Und ins Exiting packst Du ein NotesUIWorkspace.ViewRefresh ein - das triggert dann das PostRecalc beim Verlassen des Feldes.
Bernhard
dani_blues:
Dankeschön!
Wenn ich nun diesen Code hinter eine Schaltfläche zum testen lege, erscheint erst der Fehler: Object variable not set
danach: Invalid key value type.
Hängt es wohl mit key = konvert_z1 zusammen?
konvert_z1 ist ein Feld.
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
key = konvert_z1
Set db = session.CurrentDatabase
Set view = db.GetView ("VorbelegteAlterView" )
Set doc = view.GetDocumentByKey (key )
If Not (doc Is Nothing) Then
Messagebox "$" & doc.GetItemValue ("Alter")(0),, _
"Alter"
Else
Messagebox "VorbelegteAlterView " + key,, "Not found"
End If
End Sub
W
Sub Click(Source As Button)
Dim session As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
key = konvert_z1
Set db = session.CurrentDatabase
Set view = db.GetView ("VorbelegteAlterView" )
Set doc = view.GetDocumentByKey (key )
If Not (doc Is Nothing) Then
Messagebox "$" & doc.GetItemValue ("Alter")(0),, _
"Alter"
Else
Messagebox "VorbelegteAlterView " + key,, "Not found"
End If
End Sub
m3:
Na dann würde ich das Feld "konvert_z1" auch als solches verwenden NotesDocument.GetItemValue(...).
Im Gegensatz zur @-Formelsprache stehen einem die Felder in Lotusscript nicht automatisch als Variablen zur Verfügung.
eknori:
--- Zitat ---Object variable not set
--- Ende Zitat ---
Benutze Option Declare und den debugger. Dann lösen sich solche Fehler sofort in Wohlgefallen auf.
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln