Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: MrMagoo am 12.11.03 - 15:00:04

Titel: Picklist auf aktuelle DB zugreifen lassen
Beitrag von: MrMagoo am 12.11.03 - 15:00:04
Hallo zusammen,

folgende Formel
   Set collection = workspace.PickListCollection(1, True, "server","DB.nsf","Ansicht","Auswahl", _
   "Bitte auswählen.")
Die Ansicht befindet sich in dieser aktuellen DB. Soweit kein Problem, allerdings gibt es von der DB verschieden Repliken auf verschiedenen Server. Wie programmiere ich es, das er auf die aktuelle DB auf dem aktuellen Server zugreift??
Danke und Gruß
Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: Semeaphoros am 12.11.03 - 15:03:34
Statt "Server":"DBName" gibst Du die Replik-ID der Datenbank an.
Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: Rob Green am 12.11.03 - 15:05:35
oder wenn man die Replik ID nicht hardcoden bzw. in einem Profildoc parametrisieren möchte, suche man über die NotesSession die Property CurrentDatabase heraus (zusätzlich kannst Du auc IsOnServer nehmen, wenn Du wissen willst, ob die DB auf der Workstation oder Server läuft) und ServerName, wenn Du den vollen Servernamen brauchen solltest
Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: Glombi am 12.11.03 - 15:14:03
Für PickListCollection kann man - laut Hilfe - keine Replik-ID verwenden.
Ob es dennoch geht weiß ich nicht - Jens?

Ich würde es daher so machen:
dim session as NotesSession
dim db as NotesDatabase
set session = New NotesSession
set db = session.CurrentDatabase

Set collection = workspace.PickListCollection(1, True, db.Server,db.FilePath,"Ansicht","Auswahl", _
   "Bitte auswählen.")

Das ganze ist dann unabhängig vom Servernamen und Pfad, da Du ja die aktuelle DB verwenden willst.

Andreas

Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: Semeaphoros am 12.11.03 - 15:14:04
..... wobei ...... bei Repliken ist man nie so ganz sicher, ob der Dateiname nicht geändert wurde, also wenns  einigermassen Absturzsicher sein soll, ist die RepID schon sehr zu empfehlen.
Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: Glombi am 12.11.03 - 15:19:39
Statt "Server":"DBName" gibst Du die Replik-ID der Datenbank an.
Ich habe nochmal in der Hilfe nachgesehen:
Bei @Picklist kann man die Replik-ID angeben, für die beiden Script-Funktionen geht das wohl nicht.

Andreas
Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: Rob Green am 12.11.03 - 15:23:29
Zitat
..... wobei ...... bei Repliken ist man nie so ganz sicher, ob der Dateiname nicht geändert wurde, also wenns  einigermassen Absturzsicher sein soll, ist die RepID schon sehr zu empfehlen.

durch Verwendung von der Property CurrentDatabase der Class NotesSession ist man gänzlich unabhängig von fest verdrahteten Bezügen. Man liest zur Laufzeit die aktuelle NSF aus. Passt doch prima und würde ich eher bevorzugen, auch wenn es gemäß Glombi sowieso nicht anders geht bei picklist
Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: MrMagoo am 12.11.03 - 15:28:51
habe Glombis Variante genommen, mir ging es vor allem darum, den aktuellen Server zu bekommen.
Danke an Alle :)
Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: Semeaphoros am 12.11.03 - 15:41:24
Hab da offenbar Messages zwischendurch verpasst :-)

Andreas, das stimmt, die Script-Varianten vertragen keine Rep-ID - Schade. Heisst, wenn man das "absichern" will, müsste man entweder über Evaluate gehen oder dann die Datenbank mit der RepID öffnen und dann Server und Filenamen auslesen .... tja, dabei wollten sie doch für alles Aequivalente machen seinerzeit mit dem 5er .....
Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: ata am 12.11.03 - 15:58:43
... @Picklist funktioniert nicht in Evaluate()

ata
Titel: Re:Picklist auf aktuelle DB zugreifen lassen
Beitrag von: Semeaphoros am 12.11.03 - 16:03:31
Arrg. stimmt, scheint nicht mein Thread zu sein. Danke.