Du kannst der Create-Anweisung eine Lösch-Anweisung voranstellen:
sql_string = "DROP TABLE IF EXISTS `" + tabnam + "`;" +vbnewline;
Ansonsten müsstest Du überprüfen, ob die Tabelle bereits existiert.
Dafür kannst Du folgende Funktion benutzen:
Code:
Public Function RecordSetExistiert(NameRecordSet As String, Optional DatenBank As String = "") As Boolean
Dim RecordSet As Object, DB As DAO.Database
On Error GoTo ExistiertNicht
If DatenBank = "" Then
Set DB = CurrentDb
Else
' Existiert die Datenbank-Datei ?
If Dir$(DatenBank, vbHidden + vbReadOnly + vbSystem) = "" Then GoTo ExistiertNicht
Set DB = OpenDatabase(DatenBank)
End If
RecordSetExistiert = True
' Namen aller Tabellen überprüfen
For Each RecordSet In DB.TableDefs
If RecordSet.Name = NameRecordSet Then Exit Function
Next RecordSet
' Namen aller Abfragen durchsuchen
For Each RecordSet In DB.QueryDefs
If RecordSet.Name = NameRecordSet Then Exit Function
Next RecordSet
ExistiertNicht:
RecordSetExistiert = False
End Function