VBA, MS Access MS Access в примерах

Удаление таблиц по префиксу в названии (DAO)

Private Sub DelTempTables()
'Удаляет из базы ВСЕ таблицы, _
    кроме системных, и тех что начинаются на "Табл"
'--------------------------------------------------------------------
Dim tdf As TableDef
On Error GoTo DelTempTables_Err
 
    For Each tdf In CurrentDb.TableDefs
        If (tdf.Attributes And dbSystemObject) = False Then
            If Not Left(tdf.Name, 4) = "Табл" Then
                'CurrentDb.TableDefs.Delete tdf.Name
                Debug.Print "Таблица: " & tdf.Name & " - удалена."
            End If
        End If
    Next

'Обновление Области Навигации (Navigation Pane)
    CurrentDb.TableDefs.Refresh 'Обновляем список таблиц
    Application.RefreshDatabaseWindow
    DoEvents
 
DelTempTables_Bye:
    Exit Sub
DelTempTables_Err:
    MsgBox "Произошла ошибка при удалении таблиц:" & vbCrLf & _
    Err.Description, vbCritical
    Resume DelTempTables_Bye
End Sub
Назад ToTop
L.E. 03.04.2021
Рейтинг@Mail.ru