Страница: 1 |
Страница: 1 |
Вопрос: Динамическое создание таблицы (Access)
Добавлено: 11.02.05 15:22
Автор вопроса: Vit | Web-сайт:
Я создаю некоторую БД и хочу в нём создать таблицу, но выдаётся ошибка о том, что данным способом нельзы выполнять подобные запросы (создающие объекты).
Как другим образом реализовать следующий запрос.
Пример кода:
Dim db As Database
Set db = DBEngine.CreateDatabase(BaseName)
Dim rst As Recordset
Set rst = db.OpenRecordset("create table tbl(fld int);")
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
vitus
Вопросов: 9
Ответов: 43
Web-сайт:
Профиль | | #1
Добавлено: 11.02.05 15:32
Попробуй эту процедуру
Sub NewMDB()
Set ws = DBEngine.Workspaces(0)
Set NewDB = ws.CreateDatabase(strFileName, dbLangCyrillic)
Set NewTable = NewDB.CreateTableDef(NameTable)
With NewTable
.Fields.Append .CreateField("kod_vop", dbLong)
.Fields.Append .CreateField("vopros", dbMemo)
.Fields.Append .CreateField("otv_a", dbMemo)
.Fields.Append .CreateField("otv_b", dbMemo)
.Fields.Append .CreateField("otv_c", dbMemo)
.Fields.Append .CreateField("otv_d", dbMemo)
.Fields.Append .CreateField("otv_e", dbMemo)
.Fields.Append .CreateField("kod_pr", dbLong)
.Fields.Append .CreateField("kod_pr_exam", dbLong)
NewDB.TableDefs.Append NewTable
End With
End Sub
Номер ответа: 2
Автор ответа:
vitus
Вопросов: 9
Ответов: 43
Web-сайт:
Профиль | | #2
Добавлено: 11.02.05 15:33
Забыл добавить объявление переменных
Dim NewDB As DAO.Database
Dim NewTable As DAO.TableDef
Dim ws As DAO.Workspace
Номер ответа: 3
Автор ответа:
boevik
Хранитель чата
ICQ: 137392264
Вопросов: 8
Ответов: 557
Web-сайт:
Профиль | | #3
Добавлено: 13.02.05 08:26
При создании таблицы, не возвращается recordset. Поэтому нельзя использовать OpenRecordset.
Set db = DBEngine.CreateDatabase(BaseName)
db.Execute("create table tbl(fld int);"