Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Luki am 21.09.06 - 10:41:40
-
Hallo zusammen,
nachdem ich in diversen Lotus Script Agenten reichlich Zeilen verbraucht habe, stellt sich mir die Frage, ob man es nicht auch etwas eleganter lösen kann.
Ist es möglich auch Feldnamen variabel in einer Schleife zu verarbeiten ?
D.h. nicht wie im angefügten Beispiel für jeden Feldnamen eine If-Anweisung
zu schreiben, sondern die Zahl am Ende des Feldnamens in einer Schleife
hochzuzählen.
Beispiel:
If ind = 1 Then
If summefrage1 = "5" Then
durchschnitt1 = "0"
Else
durchschnitt1 = summefrage1
End If
If summefrage2 = "5" Then
durchschnitt2 = "0"
Else
durchschnitt2 = summefrage2
End If
If summefrage3 = "5" Then
durchschnitt3 = "0"
Else
durchschnitt3 = summefrage3
End If
If summefrage4 = "5" Then
durchschnitt4 = "0"
Else
durchschnitt4 = summefrage4
End If .........
Ich habe schon Einiges probiert, aber irgendwie ist nicht das gewünschte herausgekommen. Vielleicht hat ja jemand einen Tipp.
Schon jetzt vielen Dank !
-
Die Frage ist so allgemein gehalten, das auch nur eine allgemeine Antwort rauskommen kann.
Antwort: Ja man kann, es hängt von den Umständen ab.
Zum Beipiel. Über den Item.Name und die Verwendung einer Liste.
dim durchschnitt List as double
-
Du kannst alle Felder in eine Teilmaske tun und die Felder in einer Forall-Schleife abarbeiten
Set form = db.GetForm("KTV")
Dim feldname As String
Dim ktvitem As NotesItem
Set ktvprofil = db.GetProfileDocument("Profildokument")
Forall fields In form.Fields
Set ktvitem = ktvprofil.GetFirstItem( fields )
If kostentrager = ktvitem.values(0) Then
feldname = ktvitem.Name
If feldname = "kostentrager" Then
ktv_erm = ktvprofil.GetItemValue("Person")
Exit Forall
Else
ktv_erm = ktvprofil.GetItemValue("Person_" & Strright(feldname,"_"))
Exit Forall
End If
End If
End Forall
Oder mit Uidoc.Fieldgettext("Feldname" + zähler) die Felder nacheinander abarbeiten.
Vielleicht gibts sogar noch eine Lösung...
-
Vielen Dank, für die schnellen Antworten.
Ich werde mich mal an die Arbeit machen (ausprobieren).
Gruß und Danke.