Hallo,
ich arbeite auf einem 7.02 Server. Ich greife von einer Maske über eine Schalfläche auf die Datenbank DB1 zu und hole mir über picklistcollection den Feldwert eines oder mehrere Dok in mein aktuelles geöffnetes Dokument. Das funktioniert perfekt solange ich online am Server bin. Arbeite ich offline mit 2 lokalen Repliken so habe ich folgendes Phänomen:
7.02 Client
Im Dialogfenster werden keine Dokumente der Datenbank DB1 angezeigt.
8.5.1 Client
Im Dialogfenster werden Dokumente korrekt angezeigt, aber "collection" bleibt leider leer - weiß jemand warum?
Hier der Code hinter der Schaltfläche:
Code
Sub Click(Source As Button)
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim w As New notesuiworkspace
Dim Auswahl As String
Dim collection As notesdocumentcollection
serverName$ = session.CurrentDatabase.Server
Set uidoc = w.CurrentDocument
On Error Resume Next
If serverName$="" Then dbfullfile$="C:\lotus\notes\data\DB1.nsf"
dbfile$="DB1.nsf"
If Dir(dbfullfile$)="" Then
dbfullfile$="C:\lotus\notes\data\B\DB1.nsf" dbfile$="DB1.nsf"
If Dir(dbfullfile$)="" Then
Messagebox "Bitte überprüfen Sie, ob eine lokale Replik der DB1 im Notes-data Ordner vorhanden ist!" ,, "DB1 wurde nicht gefunden"
Exit Sub
End If
End If
Else
dbfile$="Serverpfad\\DB1.nsf"
End If
Auswahl=Left(uidoc.FieldGetText("FeldA"),4) & Left(uidoc.FieldGetText("FeldB"),4)
'Anfang Picklist-Collection
Set db = session.CurrentDatabase
Set collection = workspace.PickListCollection( _
PICKLIST_CUSTOM, _
True, _
serverName$, _
dbfile$, _
"Text", _
"Auswahl", _
"Bitte auswählen",_
Auswahl)
'Ende Picklist-Collection
'hier ist collection bei der lokalen Replik immer ""
If collection.Count = 0 Then
Messagebox "User canceled" ,, _
"Subject item on the document(s)"
Else
Set doc = collection.GetFirstDocument
While Not ( doc Is Nothing )
Set item = doc.GetFirstItem( "Feld" )
If ( item Is Nothing ) Then
messagelist = messagelist & "None" & Chr(10)
Else
messagelist = messagelist & item.Text & Chr(10)
End If
collection.GetNextDocument (doc) Wend
End If
Call uidoc.FieldAppendText("Feld", messagelist)
End Sub
Alles anzeigen
Warum bleibt collection leer?
vielen Dank für Eure Hilfe im voraus
Bobby