Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: ThomasM am 11.02.04 - 09:22:33

Titel: Zugriff locales Adressbuch in LS
Beitrag von: ThomasM am 11.02.04 - 09:22:33
Hallo,

ich habe folgendes Problerm:
Ich habe eine Funktion welche mir aus den vorhandenen Adressbüchern bestimmete Informationen ausliest. Ist der User mit dem Server verbunden Funktioniert es auch einwandfrei.
Arbeitet der User jedoch local wird in der NotesSession das Adressbuch (NotesSession.Adressbook) nicht mit dem localen Adressbuch gesetzt.
Es Fuktioniert local nur, wenn im Location Dokument bei location type "No connection" eingetragen ist. Unsere User arbeiten jedoch mit DialXpressway und benötigen daher kein Location Dokument mit Eintrag "No connection" mehr.

Ich hoffe Ihr könnt mir helfen.

Vielen Dank im vorraus !
Thomas
Titel: Re:Zugriff locales Adressbuch in LS
Beitrag von: Glombi am 11.02.04 - 09:40:45
Die Methode
NotesSession.Adressbooks
liefert ein Array von Adreßbüchern zurück. Es ist auch immer das lokale NAB dabei.

Mit
notesDatabase.IsPrivateAddressBook
kann man abfragen, ob es das private ist.

Alles weitere steht in der Designer Hilfe.

Andreas
Titel: Re:Zugriff locales Adressbuch in LS
Beitrag von: ThomasM am 11.02.04 - 10:30:38
Hallo,

evtl. habe ich mich nicht ganz klar ausgedrückt.
Der User arbeitet local auf einem Laptop ohne Verbindung zum Server.
Im Location Dokument unter Location type steht "Local Area Network". Mit dieser Konstellation werden die lokalen Adressbücher nicht berücksichtigt. Die lokalen Adressbücher werden nur dann berücksichtigt, wenn der Location type auf "No connection" steht.
Dies ist aber nicht der Fall.
Nun die Frage: Gibt es eine Möglichkeit trotzdem auf die localen Adressbücher mit NotesSession.Adressbook zuzugreifen ?

Vielen Dank
Thomas
Titel: Re:Zugriff locales Adressbuch in LS
Beitrag von: Glombi am 11.02.04 - 10:40:31
Das stimmt doch nicht:
If the program runs on a workstation, this property includes Domino Directories, directory catalogs, and Personal Address Books. If the program runs on a server, this property includes only Domino Directories and directory catalogs on the server.

Also, wenn das Script auf der Workstation läuft, was ja wohl der Fall sein sollte, wird auch das lokale NAB zurückgeliefert.

Lass doch mal den Debugger laufen, dann siehst Du was zurückgeliefert wird. Es ist ein Array.

Andreas
Titel: Re:Zugriff locales Adressbuch in LS
Beitrag von: ThomasM am 11.02.04 - 10:54:32
Also auf dem Laptop ohne Netzwerkverbindung und mit dem Location type "Local Area Network" ist NotesSession.Addressbok = blank.
Mit Location type "No connection" ist NotesSession.Addressbok mit den lokal verfügbaren Adressbüchern gefüllt.

Ich benötige die Funktion allerdings mit Location type "Local Area Network".

Thomas
Titel: Re:Zugriff locales Adressbuch in LS
Beitrag von: Glombi am 11.02.04 - 11:11:58
Du kannst Dir das lokale Adressbuch über den Dateinamen holen

Dim session As New NotesSession
Dim nabdbs As Variant
dim nab as NotesDatabase
nabdbs = session.AddressBooks
if not( IsArray(nabdbs) ) then
set nab = New NotesDatabase("","")
call nab.Open("","names.nsf")
else
... hier Dein Code...
end if

Dann ist nab das lokale Adressbuch.

Andreas
Titel: Re:Zugriff locales Adressbuch in LS
Beitrag von: ThomasM am 10.03.04 - 10:06:25
Hallo Andreas,

vielen Dank für Deine Hilfe, bitte entschuldige denn späten response.

Leider löst Dein Code mein Problem nicht !

Ich benötige explizit NotesSession.AdressBooks weil ich weitere Verarbeitungen machen muss.

NotesSession.AdressBooks wird auch korrekt gefüllt wenn der User local arbeitet (ohne jegliche Verbindung zum Server) und im Location Dokument "No connection" eingetragen ist.

NotesSession.AdressBooks wird nicht gefüllt wenn der User local arbeitet (ohne jegliche Verbindung zum Server) und im Location Dokument "Local Area Network" eingetragen ist.
Die User benutzen aber kein Location Dokument mehr für Local daher steht immer "Local Area Network" im Location Dokument.

Thomas
Titel: Re:Zugriff locales Adressbuch in LS
Beitrag von: Axel am 10.03.04 - 11:04:29
Ich benötige explizit NotesSession.AdressBooks weil ich weitere Verarbeitungen machen muss.

Was sollen das für Verarbeitungen sein, die du nicht auch über den Zugriff über NotesDatabase machen kannst?

NotesSession.AdressBooks wird auch korrekt gefüllt wenn der User local arbeitet (ohne jegliche Verbindung zum Server) und im Location Dokument "No connection" eingetragen ist.

NotesSession.AdressBooks wird nicht gefüllt wenn der User local arbeitet (ohne jegliche Verbindung zum Server) und im Location Dokument "Local Area Network" eingetragen ist.
Die User benutzen aber kein Location Dokument mehr für Local daher steht immer "Local Area Network" im Location Dokument.


Wenn du den Client nicht mit den Vorgaben, d.h. wenn der User lokal arbeitet, auch mit der entsprechenden Arbeitsumgebung betreibst, brauchst du dich auch nicht zu wundern, wenn die Funktionen nicht sauber laufen.

Axel
Titel: Re:Zugriff locales Adressbuch in LS
Beitrag von: Semeaphoros am 10.03.04 - 11:45:02
Und noch was: Du sagst in AdressBooks steht nichts drin, dann kann aber eigentlich auch der Client nicht richtig arbeiten. Hast Du schon mal mit dem Debugger geschaut, was denn in diesem Array drinsteht?