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
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
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?
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