Есть процедура создания новой таблицы при нажатии кнопки на форме. Текст ниже. Вылетает ошибка "Run-time Error 13".
Ругается на строки "Set tF(1) = T.CreateField("Н", dbLong)", "Set tF(2)…" и т.д.
Подскажите, пожалуйста, кто знает – в чем дело?
Тест:
Public Sub Кнопка16_Click()
Dim T As TableDef
Dim tF(1 To 3) As Field, fldNdx As Field, fldRel As Field
Dim ndxPrKey As Index
Dim relT As Relation
Dim i As Integer
Set T = CurrentDb.CreateTableDef("Табла")
Set tF(1) = T.CreateField("Н", dbLong)
tF(1).Attributes = dbAutoIncrField
Set tF(2) = T.CreateField("Имя", dbText)
Set tF(3) = T.CreateField("Тел", dbText)
For i = 1 To 3
T.Fields.Append tF(i)
Next i
Set ndxPrKey = T.CreateIndex("PrimaryKey")
ndxPrKey.Primary = True
ndxPrKey.Unique = True
Set fldNdx = ndxPrKey.CreateField("№")
ndxPrKey.Fields.Append fldNdx
T.Indexes.Append ndxPrKey
CurrentDb.TableDefs.Append T
14 октября 2009 в 17:02
ок, учтемс…
13 октября 2009 в 22:03
да не за что. но второй пункт тоже выполняйте – без него одновременно ADO и DAO не получится использовать.
13 октября 2009 в 20:04
Круто! 3-й пункт помог!!! Убрал пару библиотек, оставил DAO и заработало!
Спасибо тебе, Леонид, огромнейшее!!!
12 октября 2009 в 22:03
1. называйте кнопки осмысленно.
2. пишите название библиотеки при объявлении (eg: DAO.Field).
3. выкиньте из зависимостей неиспользуемые библиотеки.
4. пересмотрите создание ключа – у вас нет такого поля.