Function Tabelle_dropen(p_tname As String, p_kz As String) As Boolean 'Übergabeparameter Tabellenname bzw. Anfang,Importfehler_KZ => I für Importfehler A=> für Andere 'Beispiel: ' Tabelle: plandaten1_Importfehler_1 ' p_tname => plandaten ' p_kz => I für Importfehler ' oder ' Tabelle: Plandaten ' p_tname => Plandaten ' p_kz => a für andere On Error GoTo fehler Dim db As Database Dim rs As Recordset Dim sql_str, trennzeichen, drop_tname, tname As String Dim tlenght_andere, tlenght, counter As Integer Set db = DBEngine(0)(0) Set rs = db.OpenRecordset("MSysObjects") tname = "Importfehler" trennzeichen = "_" tlenght = 0 tlenght_andere = 0 rs.MoveFirst Do While Not rs.EOF tlenght = Len(rs!Name) tlenght_andere = Len(p_tname) If Mid(rs!Name, 1, tlenght_andere) = p_tname Then 'Text Importfehler aus Tabellenname suchen If UCase(p_kz) = "I" Then For counter = 1 To tlenght Step 1 If Mid(rs!Name, counter, 1) = trennzeichen Then If Mid(rs!Name, counter + 1, 12) = tname Then sql_str = "drop table " & rs!Name DoCmd.RunSQL (sql_str) Debug.Print (sql_str) Exit For End If End If Next counter Else If UCase(p_kz) = "A" And tlenght = tlenght_andere Then sql_str = "drop table " & rs!Name DoCmd.RunSQL (sql_str) Else If UCase(p_kz) <> "A" Then msgbox ("Falsches Kennzeichen übergeben!!!") Exit Function End If End If End If End If rs.MoveNext Loop fehler: 'Debug.Print Err If Err = 3376 Then Resume Next 'Debug.Print Err If (Err <> 0 And Err <> 20) Then msgbox ("Fehler: " & Err & " aufgetreten.") Resume Next End If 'Debug.Print Err End Function