Löschen von Reports bringt Fehlermeldung '-2147467259(80004005)'

15/11/2009 - 17:51 von ELLINGER WOLFGANG | Report spam
Hi,

ich möchte alle Berichte die beispielsweise "XXXXXXXXXXXXXXX_1" heissen
löschen.

Die folgende Procedur wird eingesetzt:

Set dbs = Application.CurrentProject
For Each obj In dbs.AllReports
If Left$(obj.Name, 15) = "XXXXXXXXXXXXXXX" Then
DoCmd.DeleteObject acReport, obj.Name
End If
Next obj

Die weiteren Kommentare zu diesem Fehler lauten "Automatisierungsfehler"
und Unbekannter Fehler

Wenn ich den Button "Beenden" drücke, werden einige dieser Reports gelöscht
der Rest bleibt stehen, das wiederhole ich bis nur mehr 2 oder 3 dieser
Reports da sind, dann kann ich weitermachen.

Wenn nur 2 oder 3 Reports da sind tritt der Fehler nicht auf.

ACCESS 2003 SP3

lg

Wolfgang
 

Lesen sie die antworten

#1 Peter Doering
15/11/2009 - 18:12 | Warnen spam
Hallo,

ELLINGER WOLFGANG wrote:

ich möchte alle Berichte die beispielsweise "XXXXXXXXXXXXXXX_1" heissen
löschen.

Die folgende Procedur wird eingesetzt:

Set dbs = Application.CurrentProject
For Each obj In dbs.AllReports
If Left$(obj.Name, 15) = "XXXXXXXXXXXXXXX" Then
DoCmd.DeleteObject acReport, obj.Name
End If
Next obj

Die weiteren Kommentare zu diesem Fehler lauten "Automatisierungsfehler"
und Unbekannter Fehler

Wenn ich den Button "Beenden" drücke, werden einige dieser Reports gelöscht
der Rest bleibt stehen, das wiederhole ich bis nur mehr 2 oder 3 dieser
Reports da sind, dann kann ich weitermachen.

Wenn nur 2 oder 3 Reports da sind tritt der Fehler nicht auf.

ACCESS 2003 SP3



Wird wohl daran liegen, dass sich die Collection aendert, sobald du daraus
loeschst. Probier mal, die Collection von hinten nach vorne
durchzuarbeiten:

Dim I As Integer
Set dbs = Application.CurrentProject
For I = dbs.AllReports.Count -1 To 0 Step -1
If Left$(dbs.AllReports(I).Name, 15) = "XXXXXXXXXXXXXXX" Then
DoCmd.DeleteObject acReport, dbs.AllReports(I).Name
End If
Next I

(Luftcode)

Gruss - Peter

Mitglied im http://www.dbdev.org
FAQ: http://www.donkarl.com

Ähnliche fragen