Autor Thema: NotesDocumentCollection.DeleteDocument -> Fehler  (Gelesen 2082 mal)

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
NotesDocumentCollection.DeleteDocument -> Fehler
« am: 08.11.05 - 11:47:54 »
Hi ich bins nochmal,

also ich itereire gerade über eine NotesCollection, hole mir aus dieser ein NotesDocument, und itereiere dann über eine zweite NotesCollection um das NotesDocument aus meiner ersten NotesCollection in der zweiten zu finden. Habe ich dieses gefunden, muss ich das im weiteren Verlauf nicht mehr beachten, also habe ich mir gedacht lösche ich es raus. Es gibt es mehere Dokumente, welche die gleiche Bezeichnung haben wie mein oben gefundenes NotesDocument. Also habe ich mir gedacht mache ich mir eine weitere Collection in der alle Documente stehen mit der entsprechenden Bezeichnung und lösche diese aus meiner zweiten Collection heraus. also iteriere ich über meine Collection mit den zu löschenden Dokumenten und rufe für jedes darin enthaltene Dokument die Methode der zweiten Collection DeleteDocument auf.

Als Fehlermeldung erhalte ich jedoch:

Document is not from this Collection

 ???

Ist es nicht, denke ich aber schon, naja eigentlich habe ich keinen Plan, kann mir einer weiterhelfen.

Ist vieleicht etwas kompliziert, sry ;)

Mfg

Sebastian Titze

Kann es unter Umständen sein das sich die Variable des zu löschenden Dokumentes, welche ich der Methode DeleteDocument übergebe, aus der NotesCollection referenzieren muss, in der ich das Document eigentlich löschen will?
Obwohl dies eigentlich unlogisch wäre, weil soweit ich weiss das Document als ByVal übergeben wird ???
« Letzte Änderung: 08.11.05 - 11:51:28 von stitze »
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Driri

  • Gast
Re: NotesDocumentCollection.DeleteDocument -> Fehler
« Antwort #1 am: 08.11.05 - 11:56:42 »
Ich denke mal, daß man ohne Code nicht viel dazu sagen kann. Die Fehlermeldung sieht so aus, als wenn Du da irgendwie die Dokumente und die Collections vermischt.

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: NotesDocumentCollection.DeleteDocument -> Fehler
« Antwort #2 am: 08.11.05 - 12:02:17 »
For i = 0 To docCollectionZ60Word.Count
         
         If Not ( docZ60Word Is Nothing ) Then
            Call progressBar.SetText( "DB Abgleich: Z52EWDK.nsf -> " & Cstr( lngCountPB) & " Z60Word.nsf -> " & Cstr( i ) , "Bitte Warten..." )
            
            strZ60Name = docZ60Word.Bezeichnung(0)
            strZ60Version = docZ60Word.Vnr(0)
            strZ52Name = docZ52EWDK.HBName (0)
            strZ52Version = docZ52EWDK.HBVersion(0)
            
            If strZ52Name  = strZ60Name  And strZ52Version = strZ60Version Then
               intCount = intCount + 1
               
               i = docCollectionZ60Word.Count
               
               strSelectionZ60Delete = "@Contains( Bezeichnung; """ & strZ60Name & """ )"
               
               Set docCollectionDelete = docCollectionZ60Word.Search( strSelectionZ60Delete, Nothing, 0 )
               
               For j = 1 To docCollectionDelete.Count
                  Set docDelete = docCollectionDelete.GetNthDocument(j)
                  Call docCollectionZ60Word.DeleteDocument( docDelete ) [Hier wird der Fehler ausgelöst]
               Next
            End If
            
            Set docZ60Word = docCollectionZ60Word.GetNextDocument( docZ60Word )
         End If
      Next
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Driri

  • Gast
Re: NotesDocumentCollection.DeleteDocument -> Fehler
« Antwort #3 am: 08.11.05 - 12:28:14 »
Also die Fehlermeldung ist klar. Das zu löschende Dokument ist ja aus der Collection "docCollectionDelete" und nicht aus der "docCollectionZ60Word".

Jetzt ist die Frage, willst Du die Dokumente nur aus der Collection "docCollectionZ60Word" entfernen oder willst Du die tatsächlich aus der Datenbank löschen ?

Für aus der DB löschen kannst Du dann einfach RemoveAll verwenden.

Für löschen aus der Collection fällt mir jetzt nur der Weg ein, daß in der ersten For-Schleife mit abzuwickeln.

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: NotesDocumentCollection.DeleteDocument -> Fehler
« Antwort #4 am: 08.11.05 - 12:39:06 »
Also, das Document hole ich mir zwar aus der docCollectionDelete, aber alle Dokumente sind auch in der docCollectionZ60Word.
Ich möchte sie nur aus der Collection entfernen, nicht aus der DB, dann werd ich gefeuert ;)

Problem ich kann es nicht in der ersten For Schleife mit abwickeln, weil wie schon versucht zu erklären gibt es mehrere Dokumente mit gleichem Inhalt im Bezeichnungsfeld, und diese sollen durch die verschachtelte For - Schleife aus der Collection gelöscht werden, da so der Abgleich wesentlich schneller wird auf dauer.

Ca. 1000 Datensätze in der ersten Schleife (nicht mit abgebildet) und ca 4000 in der zweiten Schleife, das haut rein würd ich sagen ;)
« Letzte Änderung: 08.11.05 - 12:41:24 von stitze »
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: NotesDocumentCollection.DeleteDocument -> Fehler
« Antwort #5 am: 08.11.05 - 12:47:52 »
Mh, ich hab mal in die Notes Hilfe gaschaut, sollte man ja auch manchmal zun ;), da steht fogendes dazu:

The specified document must have originated in this collection. If the document does not exist in the collection, or if it was removed from the database by a RemoveAll operation, an error will be raised.

erklärt so einiges oder?!

Leider gibt es für eine Collection kein Search Befehl, kann man das irgendwie anders machen, einer ne Idee.
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: NotesDocumentCollection.DeleteDocument -> Fehler
« Antwort #6 am: 08.11.05 - 13:07:05 »
Mir wurde eine Lösung zugetragen, die generell auch perfomanter ist.
Einfach nicht mit Collections arbeiten, sondern mit Tabellen, dann müssen diese nur einmal gefüllt werden und der komplette Abgleich läuft im Arbeitsspeicher ab und ich auf der DB. Ausserdem kann man da auch Zeilen löschen, so wie ich das brauche  :P
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

Driri

  • Gast
Re: NotesDocumentCollection.DeleteDocument -> Fehler
« Antwort #7 am: 08.11.05 - 13:09:33 »
Tabellen ??? Könntest Du das etwas genauer erklären ? Oder sind Ansichten gemeint ?

Offline stitze

  • Aktives Mitglied
  • ***
  • Beiträge: 226
  • Geschlecht: Männlich
    • kleisterbande
Re: NotesDocumentCollection.DeleteDocument -> Fehler
« Antwort #8 am: 08.11.05 - 13:16:14 »
Es war etwas unglücklich von meinem Ausbilder formuliert ;), es waren Arrays gemeint.
When i loaded my cap gun , i'm ready for action.

Saying that Java is nice because it works on all OS's is like saying anal sex is nice because it works on all genders.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz