Domino 9 und frühere Versionen > ND7: Entwicklung
Adressbuch 'People' auslesen
antonio945:
Hallo!
Ich habe folgendes Script in einen Button in meine Access-DB eingebunden.
Das Script soll mir alle Inhalte in eine Tabelle schreiben.
Problem:
Das Script arbeitet alles ab, bringt aber leider zum Schluss eine Fehlermeldung Error-Nr 91
'Objektvariable oder With-Blockvariable nicht festgelegt '
Zuätzlich hätte ich noch gerne, dass mein Code nur ein Adressbuch mit dem Namen "People" durchläuft.
Gibt es hierzu eine Möglickeit?
Gruß antonio
Public Function fctReadAdressbook()
On Error GoTo ErrorHandling
Dim session As Object
Dim db As Object
Dim doc As Object, dc1 As Object, doc1 As Object
Dim exist As Boolean
Dim R As Recordset
Set session = CreateObject("Notes.NotesSession")
Set db = session.GETDATABASE("sstrdm10.wk.dcx.com/Server/Prod/DCX", "names.nsf")
If db.IsOpen = False Then
db.OPENMAIL
End If
Set dc1 = db.Alldocuments
Set doc1 = dc1.GETFIRSTDOCUMENT
While Not doc1 Is Nothing
Set doc1 = dc1.GETNEXTDOCUMENT(doc1)
If doc1.getitemvalue("Department")(0) = "AB/TEST" then
Set R = CurrentDb.OpenRecordset("SELECT * from User")
R.AddNew
R!Lastname = Nz(doc1.getitemvalue("Lastname")(0))
R!Firstname = Nz(doc1.getitemvalue("Firstname")(0))
R!IDName = Nz(doc1.getitemvalue("ShortName")(0))
R!Abteilung = Nz(doc1.getitemvalue("Department")(0))
R.Update
End If
Wend
R.Close: Set R = Nothing
db.Close: Set db = Nothing
Exit_NächsterDatensatz:
Exit Function
ErrorHandling:
Debug.Print Err.Description, Err.Number
End Function
koehlerbv:
Das GetNextDocument steht an der falschen Position - es ist logisch, dass es in der Zeile beim letzten Dokument der Collection knallt. Ausserdem wird durch die falsche Stelle auch gleich mal immer das erste Dokument ausgelassen.
Wegen Adressbuch "People": Warum wird dieses denn nicht geöffnet, wenn es erwünscht wird??
Bernhard
DerAndre:
Ja, nimm anstatt names.nsf people.nsf
Du machst ein getFirstDocument
dann while not is nothing
und dann sofort getNextdocument.
1. Das erste Dokument wird nicht verarbeitet
2. Rate mal was beim letzten Dokument passiert.
Bernhard ich muss schneller tippen lernen. ;D
antonio945:
Hallo,
vielen Dank für die schnelle Rückmeldung.
Habe nun mal names.nsf durch people.nsf
ersetzt und funktioniert.
Die Zeile
Set doc1 = dc1.GETNEXTDOCUMENT(doc1)
habe ich nun mal am Ende vor die Zeile
Wend
gesetzt, leider habe ich nun das Problem, dass nach dem ersten gefundenen Eintrag zu
If doc1.getitemvalue("Department")(0) = "AB/TEST" then
die Bedingung erfüllt ist und ich nur einen Adressbucheintrag erhalte.
Ich möchte aber alle Adressen aus dem Adressbuch mit
doc1.getitemvalue("Department")(0) = "AB/TEST" erhalten.
Wie kann man das umsetzen?
Gruß antonio
koehlerbv:
Hä?? Code!
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln