'1 вариант использование SQL (раздела DDL (динамическое определения данных))
Sub CreatReff1() 'Создаем две таблицы: Klient (Клиенты) и Zakaz(Заказы) CurrentDb.Execute "CREATE TABLE Klient ([idKlient] counter,[klFamilia] text,[klName] text,[klTelefon] text,[klRem] memo,CONSTRAINT [id_Key] PRIMARY KEY ([idKlient]));" CurrentDb.Execute "CREATE TABLE Zakaz ([idZakaz] counter, [zakNomer] integer,[zakKlientID] integer,[zakData] date,[zaklRem] memo,CONSTRAINT [id_zakKey] PRIMARY KEY ([idZakaz]));"
CurrentDb.Execute "CREATE Unique INDEX NewInde1x ON Klient ([klName], [klFamilia]);" 'Устанавливаем связь между таблицами (Zakaz.zakKlientID-Klient.idKlient) CurrentDb.Execute "ALTER TABLE Zakaz ADD CONSTRAINT ref1 FOREIGN KEY (zakKlientID) REFERENCES Klient (idKlient)" End Sub
'2 вариант использование DAO
Sub CreatReff2() Dim rel As DAO.Relation 'Используем таблицы из предыдущего варианта 'Создаем связь с между ними Set rel = CurrentDb.CreateRelation("ref1", "Klient", "Zakaz", dbRelationUpdateCascade)
'настраеваем поля связи rel.Fields.Append rel.CreateField("idKlient") rel.Fields!idKlient.ForeignName = "zakKlientID"
'добавляем вышесозданную связь в коллекцию "Связи" CurrentDb.Relations.Append rel End Sub |