Das Notes Forum

Domino 9 und frühere Versionen => ND9: Entwicklung => Thema gestartet von: aoibhneach am 12.09.22 - 12:27:02

Titel: IsElement-Funktion in LotusScript
Beitrag von: aoibhneach am 12.09.22 - 12:27:02
Hallo Forum,

Ich möchte mittels eines Agenten (mal eben fix  ;) ) auflisten, welche Masken in den vielen Dokumenten verwendet wurden. Meine Idee ist, die Funktion "IsElement" zu verwenden.
Obwohl im Debug-Modus zu erkennen, ein bestimmter Form-Name in der Liste enthalten ist, erkennt das die "IsElement" - Funktion in meinem Code nicht. Der jeweils neue Name (aktuelleForm) wird ungeachtet dessen, dass er in der Liste schon als Element vorhanden ist, neu zur Liste hinzugefügt.
Also mache ich mit Sicherheit etwas falsch. Nur: Was? Habe ich die Hilfe falsch interpretiert?

Vielen Dank und Grüße,
Nils

   
Code
Dim coll As NotesDocumentCollection
	Dim doc as NotesDocument
	Dim forms List As String
	Dim aktuelleForm As String 
	Dim i As Integer 
	
	Set coll = db.Alldocuments
	
	set doc = coll.Getfirstdocument()

	i = 0
	
	Do
		
		aktuelleForm = Trim(doc.Form(0))
		
		If Not IsElement(forms(aktuelleForm)) Then
			forms(i) = aktuelleForm
			i = i + 1
		End If
		
		Set doc = coll.Getnextdocument(doc)
	
	Loop Until doc Is nothing
Titel: Antw:IsElement-Funktion in LotusScript
Beitrag von: it898ur am 12.09.22 - 13:01:24
Hallo,

Listeneinträge haben einen Bezeichner und einen Wert. Bei der Prüfung mit IsElement wird gegen den Listenbezeichner geprüft, nicht gegen den Wert.

Durch die Angabe
forms(i) = aktuelleForm
wird als Bezeichner eine Zahl gesetzt anstatt dem Maskennamen und die nächste Prüfung fällt natürlich auf die Nase.

Ich mache solche Prüfungen immer in der Form, dass ich bei der Zuweisung so agiere:
forms(Ucase(aktuelleForm)) = aktuelle Form
und bei der Prüfung dann so:
If Not IsElement(forms(Ucase(aktuelleForm))) Then

Damit werden auch Doppelungen durch unterschiedliche Groß-/Kleinschreibung mit berücksichtigt.

Viele Grüße

André
Titel: Antw:IsElement-Funktion in LotusScript
Beitrag von: aoibhneach am 12.09.22 - 13:20:18
Hallo André,

Na; dann mache ich es so ;) In vielen Fällen ist die Notes-Hilfe ja hilfreich und Auf-Den-Punkt. Zu diesem Fall war sie es für mich nicht.
Prima. Vielen Dank für Deine schnelle Hilfe.

Viele Grüße,

Nils

p.s. Hab die Hilfe soeben nochmals gelesen. Was ich vorhin einfach überlesen hatte, ist die Bemerkung gleich am Anfang: "Tests a string to determine whether it is a list tag for a given list."
Manchmal ist's nicht einfach  ::)

Titel: Antw:IsElement-Funktion in LotusScript
Beitrag von: eknori am 12.09.22 - 16:26:59
„Mal eben“ kann man das mit einer einfachen Ansicht machen. Selection Formula @All. Erste Spalte kategorisiert nach FORM. Bäng, fertig