Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Access > Связь двух таблиц средствами VBA


Автор: Shuriman 12.4.2005, 12:22
народ обясните ламеру, как организовать связь один ко многим вновь созданной таблицы с уже существующей средствами VBA.
новая таблица - IDпользователя&"выборка"
уже существующая - "общие продажи"

в обеих таблицах поля называются одинаково - "tovar"

делаю так:
Код

Private Sub Кнопка0_Click()
Dim dbsПользователи As Database
Dim tbl As TableDef
Dim tb2 As TableDef
Dim fiel As Field
Dim ind As Index
Dim rel As Relation

'создание таблицы
    Set dbsEnergy = CurrentDb()
    Set tbl = dbsEnergy.CreateTableDef(1 & "выборка")
    Set fiel = tbl.CreateField("num", dbInteger)
    tbl.Fields.Append fiel
    Set fiel = tbl.CreateField("tovar", dbInteger)
    tbl.Fields.Append fiel
    Set fiel = tbl.CreateField("shr", dbBoolean)
    tbl.Fields.Append fiel
    dbsEnergy.TableDefs.Append tbl
    Set ind = tbl.CreateIndex("PrimaryKey")
    ind.Fields.Append ind.CreateField("tovar")
    ind.Primary = True
    tbl.Indexes.Append ind
  
'создание отношения   
    Set rel = dbsEnergy.CreateRelation("tbl_tbl2", _
            tbl.name, "общие продажи", _
            dbRelationUpdateCascade)
     tbl.Fields.Append tbl.CreateField("tovar")
     tbl.Fields!tovar.ForeignName = "tovar"
     dbsEnergy.Relations.Append rel
   


 Call MsgBox("таблица создана, отношение установлено")
End Sub


выдает ошибку
Цитата
Ошибочный тип данных поля


чего я не так делаю? поправьте, плз. никак сообразить не могу.

тип данных у обоих полей - Числовой - Целое

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)