Domino 9 und frühere Versionen > ND6: Entwicklung

Agent soll Dokumente aus der Ansicht löschen!

(1/1)

wuwu:
Hallo,

ich probiere schon den ganzen Tag rum, komme aber leider nicht drauf warum der Agent nicht alle Dokumente aus der Anischt löscht!

Mein Code:
Else
      While Not (doc Is Nothing)      
         Set doc_temp = view.GetNextDocument(doc)
         Dim count1 As Variant
         count1 = count1 + 1 ' Counter
         Call doc.Remove(True)
         Set doc = doc_temp   
      Wend         

Er löscht mir aus der Ansicht immer nur Dokument 1, 2, 4, 6, 8, 10 usw.
Dokument 3, 5, 7, usw. bleibt stehen!

Kann mir es leider nicht erklären!

Mfg Horst

ascabg:
Hi,

Schalte doch mal die automatische Aktualisierung der Ansicht aus.

view.AutoUpdate = False

eine andere variante waere auch

veCol = NotesViewEntryCollection


--- Code: ---Dim veCol = view.AllEntries
If Not veCol Is Nothing Then
  Call veCol.RemoveAll(True)
End If
--- Ende Code ---

Andreas

wuwu:
Hallo Andreas,

Danke für die schnelle und RICHTIGE Lösung!

Warum passiert das ganze, gibt es da eine Erklärung?

view.AutoUpdate=False -> ist das die Einstellung bei der Ansicht "Probeler"?

Mfg Horst

Tode:
das hat mit dem Propeller nix zu tun.

Du sagst nur Deinem view- Objekt, dass es Änderungen im Hintergrund nicht zu interessieren haben. Deine "doc.Remove", die sich ja direkt auf den View- Index auswirken bekommt das Script- Objekt nicht mit. Und damit läuft auch Dein Script schön durch.

setzt Du das flag nicht, dann wird mit jedem Remove dein view- Objekt aktualisiert, was zu dem von Dir beobachteten Ergebnis führt (grob gesagt: Dein doc_temp zeigt aufs 2. Dokument in der view. Du entfernst das 1. Dokument, doc_temp wird das neue erste Document. getNextDocument geht aber von nr 2 aus und liefert Dir dann das 3. Dokument...)

kompliziert, ist aber so. ein view.Autoupdate = False hat KEINE Auswirkungen auf Deine "physische" Ansicht.

HTH
Tode

Navigation

[0] Themen-Index

Zur normalen Ansicht wechseln