Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Динамическое создание таблицы (Access) Добавлено: 11.02.05 15:22  

Автор вопроса:  Vit | Web-сайт: www.home-soft.jino-net.ru
Я создаю некоторую БД и хочу в нём создать таблицу, но выдаётся ошибка о том, что данным способом нельзы выполнять подобные запросы (создающие объекты).
Как другим образом реализовать следующий запрос.
 Пример кода:

    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-сайт: www.jgukz.narod.ru
 Профиль | | #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-сайт: www.jgukz.narod.ru
 Профиль | | #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-сайт: www.hypertech.ru
 Профиль | | #3
Добавлено: 13.02.05 08:26
При создании таблицы, не возвращается recordset. Поэтому нельзя использовать OpenRecordset.
Dim db As Database
    Set db = DBEngine.CreateDatabase(BaseName)
    db.Execute("create table tbl(fld int);";)

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам