Autor Thema: Object Variable not Set  (Gelesen 4305 mal)

Offline chris2212

  • Aktives Mitglied
  • ***
  • Beiträge: 162
  • Geschlecht: Männlich
Object Variable not Set
« am: 10.03.05 - 10:56:36 »
Hallo,

in einer Dokumenten Datenbank soll folgende Agent den DocumentTitle
prüfen, wenn im Titel Zertifikat erhalten steht soll er in der Adress Datenbank
auf dem Kontakt der das Zertifikat erhalten hat einen Feldwert setzten.

Es sind ca. 1500 Dokumente die den Titel enthalten, bei 137 bleibt der Agent
stehen und bring die Fehlermeldung Object Variable not Set.
In der Dokumenten Datenbank sind 50.494 Dokumente.

Ich habe den Agent auch schon am Server laufen lassen, dann bekomme ich auch die Fehlermeldung.

Dim session As New NotesSession
Dim docDB As NotesDatabase
Dim docCol As NotesDocumentCollection
Dim docDocument As NotesDocument
   
Set docDB = session.CurrentDatabase
Set docCol = docDB.AllDocuments
Set docDocument = docCol.GetFirstDocument

Dim adrDB As NotesDatabase
Dim adrDBView As NotesView
Dim adrDoc As NotesDocument

Set adrDB = session.GetDatabase("Server","AdrDB",False)
Set adrDBView = adrDB.GetView("(SearchKey)")
While Not (docDocument Is Nothing)
   If Instr(docDocument.DocTitle(0), "Zertifikat erhalten") <> 0 Then
      Set adrDoc = AdrDBView.GetDocumentByKey(docDocument.SearchKey(0),True)
      If (adrDoc.IsValid = True) And (adrDoc.Form(0) = "Kontakt") Then
         Call adrDoc.ReplaceItemValue("Zertifikat","erhalten")
         Call adrDoc.Save(True,False,False)   
      End If         
   End If
   Set docDocument = docCol.GetNextDocument(docDocument)
Wend

Ist der Agent falsch aufgebaut oder gibt es eine Beschränkung beim Zugriff auf
eine andere DB?

Für jeden Tipp dankbar !

Danke & Gruß
Chris

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Object Variable not Set
« Antwort #1 am: 10.03.05 - 11:01:02 »
Ich würde fast wetten, der findet das AdrDoc nicht. Aber schalte mal den Debugger ein und sag mal, in welcher Zeile der Fehler denn auftritt, und überprüfe dann mal den Inhalt Deiner Variablen, fast sicher ergibt sich die Antwort von selber .....
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline Thomas Schulte

  • @Notes Preisträger
  • Freund des Hauses!
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 4.388
  • Geschlecht: Männlich
  • Ich glaub mich tritt ein Pferd
Re: Object Variable not Set
« Antwort #2 am: 10.03.05 - 11:09:10 »
Und in welcher Zeile????
Mit der Fehlermeldung sagt dir Notes einfach, "Hey ich hab hier was was ich nicht gefunden habe und du willst eine Atkion damit machen. Das geht nicht!"
Also gibt es, da es deinen Search view zu geben scheint und du das Vorhandensein des Basisdocumentes abfängst eigentlich nur die Möglichkeit das mit dem Doctitle kein gültiges Dokument in deiner anderen DB gefunden werden kann. Das hast du nämlich vergessen abzufangen.
Set adrDoc = AdrDBView.GetDocumentByKey(docDocument.SearchKey(0),True)
-> if not adrdoc is nothing then
      If (adrDoc.IsValid = True) And (adrDoc.Form(0) = "Kontakt") Then
         Call adrDoc.ReplaceItemValue("Zertifikat","erhalten")
         Call adrDoc.Save(True,False,False)   
      End If         
-> end if
Das noch mit einbauen und du hast den Fehler warscheinlich eliminiert, aber da muss dann noch Benachrichtungslogik dahinter gelegt werden.
Thomas Schulte

Collaborative Project Portfolio and Project Management Software

"Aber wo wir jetzt einmal soweit gekommen sind, möchte ich noch nicht aufgeben. Versteh mich recht, aufgeben liegt mir irgendwie nicht."

J.R.R.Tolkien Herr der Ringe, Der Schicksalsberg

OpenNTF Project: !!HELP!! !!SYSTEM!!  !!DRIVER!!

Skype: thomasschulte-kulmbach

Offline chris2212

  • Aktives Mitglied
  • ***
  • Beiträge: 162
  • Geschlecht: Männlich
Re: Object Variable not Set
« Antwort #3 am: 10.03.05 - 12:33:34 »
Hallo,

danke für die Unterstützung!

Das hatte gefehlt, jetzt geht es.
Nachdem ich mir die Antwort von Thomas angeschaut habe,
ist mir auch klar geworden warum :-(
Naja, bald ist Wochenende :-)

Vielen Dank für die schnelle Unterstützung!

Danke & Gruß
Chris


 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz