Domino 9 und frühere Versionen > ND7: Entwicklung

Adressbuch 'People' auslesen

(1/3) > >>

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