Michael, mit derart herausgelösten Code-Schnipseln ist es schwierig, Fragen zu beantworten, die die Kenntnis des Gesamtzusammenhangs erfordern.
Wir brauchen also mehr Infos. Und den bei Dir jeweils aktuellen Dev-DB-Stand können wir uns auch nicht dauernd 'reinziehen.
Ein paar Ansätze:
Du arbeitest lt. Code-Schnipsel sowohl im Front- als auch im Backend. Das ist meist kontraproduktiv, da das FrontEnd darauf verweist, was im RAM passiert, das Backend darauf, was gespeichert ist (oder würde) - vereinfacht ausgesprochen.
'Person einfügen
If uidoc.FieldGetText("Teilnehmer") = session.UserName Then
Messagebox "Sie sind bereits angemeldet."
Du holst Dir so den Inhalt des Feldes "Teilnehmer". Wie Du weiter schreibst, ist das ein skalarer Wert (ein String und kein Array). So, wie Du (von Dir später beschrieben) das Feld füllst, steht dort dann
"CN=Hein Bloed/O=Kutter/C=DECN=Kaeptn Blaubaer/O=Kutter/C=DE".
Wenn Du jetzt den aktuellen User ("CN=Hein Bloed/O=Kutter/C=DE") mit dem Feldinhalt vergleichst via "=", dann ist das natürlich nicht gleich ... Du müsstest dafür Instr verwenden - aber letztlich ist das ja auch nicht, was Du willst (und auch nicht sollst - das soll ja eine Liste werden).
Verknüpfung der Namen zu einer Liste:
Im UI kannst Du das machen, in dem Du das für das Feld vereinbarte Trennzeichen bei Eingabe in Felder mit Mehrfachwerten verwendest, also zum Beispiel:
Call uidoc.FieldSetText ( "Teilnehmer", tmpTeilnehmer & ";" & session.UserName )
(Trennzeichen ist das Semikolon)
oder
Call uidoc.FieldSetText ( "Teilnehmer", tmpTeilnehmer & Chr$ (10) & session.UserName )
Beachte bitte auch: Der Concatenator für Strings in LS ist nicht "+", sondern "&".
Besser (effektiver, da mehr Möglichkeiten) wäre aber, das ganze im Backend zu machen (schau Dir dazu mal ArrayAppend an für das hinzufügen von Werten zu Arrays, zur Abrage, ob vorhanden, ArrayGetIndex und zum Auffrischen des UI-Docs NotesUIDocument.Reload / Refresh).
Ferner ist unklar, was Deinen Code überhaupt triggert: Ein Button-Click ?
HTH,
Bernhard