15 мая 2023 года "Исходники.РУ" отмечают своё 23-летие!
Поздравляем всех причастных и неравнодушных с этим событием!
И огромное спасибо всем, кто был и остаётся с нами все эти годы!

Главная Форум Журнал Wiki DRKB Discuz!ML Помощь проекту


Как добавить новую таблицу в Access


Компилятор: Visual Basic

Public Function CreateTable(DatabaseName As String, _
ByVal TableName As String) As Boolean

'DataBaseName - имя и путь файла базы
'TableName имя таблицы, которую Вы хотите создать
'В случае успеха, возвращает true, иначе false

'Проект должен иметь ссылку на DAO

On Error GoTo errorhandler
Dim oDB As DAO.Database
Dim td As DAO.TableDef
Dim f As DAO.Field

Set oDB = Workspaces(0).OpenDatabase(DatabaseName)
On Error GoTo errorhandler
If TableExists(oDB, TableName) Then GoTo errorhandler
'Создаём объект таблицы
Set td = oDB.CreateTableDef(TableName)

'Необходимо добавить поле
'Добавляем поле ID

Set f = td.CreateField("ID", dbLong)
f.Attributes = dbAutoIncrField

'Присоединяем поле к таблице
td.Fields.Append f

'Добавляем таблицу к базе данных
oDB.TableDefs.Append td

oDB.Close
CreateTable = True
Exit Function
errorhandler:
If Not oDB Is Nothing Then oDB.Close
Set td = Nothing
Set f = Nothing

End Function

Private Function TableExists(oDB As Database, _
TableName As String) As Boolean

Dim td As DAO.TableDef
On Error Resume Next

Set td = oDB.TableDefs(TableName)
TableExists = Err.Number = 0

End Function