Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Freezer am 02.05.05 - 10:07:39

Titel: Problem mit "Namensliste"
Beitrag von: Freezer am 02.05.05 - 10:07:39
Hallo zusammen?

Ich hab´ da irgendwie glaube ich ein Verständnisproblem:

Ich habe ein Profildokument (frmProfil)mit einem Namensfeld "Editoren".
Nun möchte ich in einer Maske im Postopen-Event prüfen, ob der aktuelle User sich in diesem Namensfeld befindet.

Code
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim lst_Editoren  List As String
Dim str_User As String
Dim bl_Flag As Boolean
	
bl_Flag = False
Set db = session.CurrentDatabase
Set doc = db.GetProfileDocument("frmProfil")
lst_Editoren(0) = doc.GetItemValue("Editoren")
str_User = session.UserName
if IsElement(lst_Editoren(str_User)) = TRUE then
     bl_Flag = True
Endif


Funktioniert leider nicht, da ich die Namen des Feldes im Profildokument nicht in die Stringliste bekomme (Type mismatch).

Kann mir vielleicht jemand vom Schlauch runterhelfen?

Danke,

Freezer
Titel: Re: Problem mit "Namensliste"
Beitrag von: koehlerbv am 02.05.05 - 10:15:46
Code
Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
Dim vEditoren  List As Variant
Dim str_User As String
Dim bl_Flag As Boolean

bl_Flag = False
Set db = session.CurrentDatabase
Set doc = db.GetProfileDocument("frmProfil")
vEditoren = doc.Editoren
str_User = session.UserName
If Not (Isnull (ArrayGetIndex (vEditoren, str_User))) Then
     bl_Flag = True
Endif

Bernhard
Titel: Re: Problem mit "Namensliste"
Beitrag von: Freezer am 02.05.05 - 10:45:21
Funktioniert leider auch nicht, da ich in der Zeile

Code
...
vEditoren = doc.Editoren
...

die Fehlermeldung "Illegal reference to array or list: vEditoren"
bekomme ???
Titel: Re: Problem mit "Namensliste"
Beitrag von: Glombi am 02.05.05 - 10:53:15
Für Deinen Fall ist das Arbeiten mit Listen nicht nötig.

Besser so:

Dim session As New NotesSession
Dim db As NotesDatabase
Dim doc As NotesDocument
dim item_Editoren as NotesItem
Dim str_User As String
Dim bl_Flag As Boolean

bl_Flag = False
Set db = session.CurrentDatabase
Set doc = db.GetProfileDocument("frmProfil")
set item_Editoren = doc.GetFirstItem("Editoren")
str_User = session.UserName
If item_Editoren.Contains(str_User) Then
     bl_Flag = True
Endif

Andreas
Titel: Re: Problem mit "Namensliste"
Beitrag von: koehlerbv am 02.05.05 - 10:57:02
Sorry, ich habe auch die Deklarationszeile nicht richtig ausgetauscht:

Dim vEditoren List As Variant

Oder so wie Andreas geschrieben hat - es führen wieder viele Wege nach Rom.

Bernhard
Titel: Re: Problem mit "Namensliste"
Beitrag von: Freezer am 02.05.05 - 11:06:53
Schönen Dank euch beiden!

Jetzt funktioniert´s. Und ich habe gelernt, dass nicht alles was nach einer Liste aussieht, auch eine Liste sein muss.

Gruß,

Freezer