Tabelle löschen

Hallo,

ich möchte gern nach einem Import eine eventuell erstellte Tabelle „Importfehler“ löschen lassen. Dazu öffne ich die Tabelle „MSysObjects“, suche den Namen und gebe dann den Löschbefehl. Leider funktioniert der Löschbereich nicht. Kann bitte mal jemand schauen?

Private Sub import_loe_btn_Click()
Dim db As Database
Dim mySys As Recordset
Set db = CurrentDb()
Set mySys = db.OpenRecordset(„MSysObjects“)
mySys.MoveFirst
Do Until mySys.EOF
If mySys!Name = „Sap_guvkto_us02_Importfehler“ Then
DoCmd.DeleteObject acDefault, „Sap_guvkto_us02_Importfehler“
MsgBox „Tabelle Importfehler wurde gelöscht!“
Else
Exit Sub
End If
Exit Do
mySys.MoveNext
Loop
mySys.Close
End Sub

Danke für eure Hilfe.

Lg Manuela

Hallo,

nimm das ExitSub und das ExitDo raus und probiers nochmal

Private Sub import_loe_btn_Click()
Dim db As Database
Dim mySys As Recordset
Set db = CurrentDb()
Set mySys = db.OpenRecordset(„MSysObjects“)
mySys.MoveFirst
Do Until mySys.EOF
If mySys!Name = „Sap_guvkto_us02_Importfehler“ Then
DoCmd.DeleteObject acDefault,
„Sap_guvkto_us02_Importfehler“
MsgBox „Tabelle Importfehler wurde gelöscht!“
Else
Exit Sub
End If
Exit Do
mySys.MoveNext
Loop
mySys.Close
End Sub

ujk

Hallo,

danke für deine Antwort. Habe die Zeilen rausgenommen, kriege jetzt aber den Laufzeitfehler 2487 „Das Argument „Objekttyp“ dieser Aktion oder Methode ist entweder nicht angegeben oder unzulässig.“

Hab schon mal gegoogelt, leider dazu aber nicht so viele Informationen gefunden. Kannst du nochmal helfen?

Danke
LG ManuGo

Hallo Manuela,

den Vorschlag von ujk kann ich bestätigen.
Zusätzlich änderst Du noch in der Docmd_Anweisung den objekttyp in actable und setzt dann Exit Do zum Ende des If.

Private Sub import_loe_btn_Click()
Dim db As Database
Dim mySys As Recordset
Set db = CurrentDb()
Set mySys = db.OpenRecordset(„MSysObjects“)
mySys.MoveFirst
Do Until mySys.EOF
If mySys!Name = „Sap_guvkto_us02_Importfehler“ Then
DoCmd.DeleteObject abdefault, „Sap_guvkto_us02_Importfehler“
MsgBox „Tabelle Importfehler wurde gelöscht!“
Exit Do
Else
End If
mySys.MoveNext
Loop
mySys.Close

Gruß
Andy

Andy hat doch schon geholfen.

ujk