Autor Thema: Document is not from this Collection  (Gelesen 2241 mal)

Offline thomson666

  • Senior Mitglied
  • ****
  • Beiträge: 285
  • Geschlecht: Männlich
  • niemand hats leicht, aber leicht hats oan...
Document is not from this Collection
« am: 21.04.10 - 08:23:19 »
Hallo!

Vielleicht kann mir jemand mal auf die Sprünge helfen.
In einem Mailverständigunsscript bekomm ich immer wieder mal den Fehler

4413 Document is not from this collection

Hier der Code:
   If Col.Count = 0 Then Exit Sub
'------------------------     
   VTLMailSend = 0
   Set doc = col.GetFirstDocument
   
   Do Until doc Is Nothing
      
      id = doc.dok_id
      mail_in_datum = doc.tim_mail_in_datum
      mail_flag = doc.mail_flag(0)
      
      If (mail_flag = "1" ) Then     ' mail_flag = 1 -> handelt es sich um ein überarbeitetes Rundschreiben, daher müssen alle Dokumente durchlaufen werden
                                                        ' alle älteren Dokument gelöscht werden
         
         
         search_string = "@Text(dok_id)="""+id(0)+""""
         Set Col1 = db.search (search_string, datetime, 0)
         Set doc1 = col1.GetFirstDocument
         Do Until doc1 Is Nothing
            
            
            id1 = doc1.dok_id
            mail_in_datum1 = doc1.tim_mail_in_datum
            If (id(0)=id1(0) And  mail_in_datum1(0)<mail_in_datum(0)) Then
               Call Doc1.ReplaceItemValue ("status", "Archiv")
               Call Doc1.Save (False, False)
            End If
            Set doc1 = col1.GetNextDocument(doc1)
         Loop
         
      End If
      
      Call SendMail (Doc)
      Set doc = col.GetNextDocument(doc)
   Loop

Aussteigent tut der Script beim Aufruf von
call SendMail(doc)

Ich weiss keinen Rat!
Könnt mir jemand helfen?!

Sg
Tommy

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Document is not from this Collection
« Antwort #1 am: 21.04.10 - 08:29:12 »
Ich könnte mir vorstellen, dass der Code auf ein Problem läuft, wenn in der inneren Schleife ein doc1 auf das selbe Dokument "zeigt" wie das Dokument doc in der äußeren Schleife.

-Werner

Offline thomson666

  • Senior Mitglied
  • ****
  • Beiträge: 285
  • Geschlecht: Männlich
  • niemand hats leicht, aber leicht hats oan...
Re: Document is not from this Collection
« Antwort #2 am: 21.04.10 - 08:34:44 »
Hmmm
du meinst also wenn die Bedienung für das innere Dokument zutrifft und ich das
doc1.Save mache.
Guter Tipp!

Das wirds wohl sein.
Danke, aber ich bin total auf der Leitung gstanden...

tommy

Offline Werner Götz

  • Aktives Mitglied
  • ***
  • Beiträge: 248
  • Geschlecht: Männlich
Re: Document is not from this Collection
« Antwort #3 am: 21.04.10 - 09:25:00 »
Ja genau.
Wenn doc in der inneren Schleife beim db.search auch "gefunden" wird, dann wird das alte Dokument, das ja ein Mitglied der Collection Col war durch das Dokument aus der Collection Col1 "überschrieben" und ist nach der inneren Schleife nicht mehr gültiges Member von Col.
-Werner

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz