Domino 9 und frühere Versionen > ND8: Entwicklung
remove.doc nach Call sourceDoc.CopyToDatabase(destDb) durchführen
mde:
Hi @All
Ich muss eine größere Menge Dokumente in eine Archiv Db verschieben.
Dabei wollte ich die Call sourceDoc.CopyToDatabase(destDb) nutzen und das Dokument direkt danach aus der souce db mit Call doc.Remove(True) löschen.
Es gibt keine Antwortdokumente zu den Dokumenten in der Datenbank.
Werden die dabei die Dokumente erst kopiert, oder kann es passieren das er die Dokumenten schon löscht bevor diese kopiert sind? (Natuerlich ist der Code erst kopieren dann löschen.
Für eine kurze Info wäre ich dankbar.
Gruß
mde
DerAndre:
Hi,
welchen Grund sollte es geben, wenn die Anweisung lautet
kopieren
löschen
das umgekehrt zu machen, wenn Anweisung für Anweisung abgearbeitet wird?
Driri:
Wenn man auf Nummer sicher gehen will, kopiert man erst die Dokumente in einer Schleife in die Archivdatenbank und löscht diese nur, wenn dabei kein Fehler aufgetreten ist.
Wenn man die Dokumente vorher in einer DocumentCollection hat, ist das Löschen auch nur noch ein Einzeiler.
pram:
André hat grundsätzlich recht... for i = 1 to 10 zählt ja auch nicht einfach so mal rückwärts ;)
Was allerdings passieren kann:
- Dokumente "verschwinden" beim Kopieren, wenn z.B. Rollen in Leserfeldern beteiligt sind
- Ein verkorkstes Errorhandling (on error resume next) kann dafür sorgen, dass ein Dokument gelöscht wurde, obwohl es nicht kopiert wurde,
- beim Löschen aus collections muss man aufpassen, dass man das nächste Dokument holt, bevor man löscht, sonst kommt es zu einem Fehler.
Gruß
Roland
mde:
Danke für eure Antworten, das hat mir schon geholfen.
Gruß
mde
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln