Attribute VB_Name = "Module1"
Option Compare Database

Public Sub create_data()
Dim strSQL As String
DoCmd.SetWarnings (False)

' Создание таблиц
strSQL = "create table Студент (" _
& "Код counter(1,1) primary key not null," _
& "ФИО varchar(100)," _
& "Группа varchar(50)" _
& ")"
DoCmd.RunSQL strSQL

strSQL = "create table Дисциплина (" _
& "Код counter(1,1) primary key not null," _
& "[Наименование] varchar(100)," _
& "[Группа] varchar(50)" _
& ")"
DoCmd.RunSQL strSQL

strSQL = "create table Экзамен (" _
& "Код counter(1,1) primary key not null," _
& "Код_студента int," _
& "[Код_дисциплины] int," _
& "[Оценка] integer," _
& "constraint fk_student FOREIGN KEY(Код_студента) REFERENCES Студент(Код)," _
& "constraint fk_discipline FOREIGN KEY(Код_дисциплины) REFERENCES Дисциплина(Код)" _
& ")"
DoCmd.RunSQL strSQL

strSQL = "create table Стипендия (" _
& "Код counter(1,1) primary key not null," _
& "Код_студента int," _
& "Размер int," _
& "constraint fk_student_stipend FOREIGN KEY(Код_студента) REFERENCES Студент(Код)" _
& ")"
DoCmd.RunSQL strSQL

'Создание индекса
DoCmd.RunSQL "CREATE UNIQUE INDEX i_студент ON Стипендия (Код_студента)"

'Заполнение таблиц
DoCmd.RunSQL "insert into Студент(ФИО, Группа) Values('Петров Ф. И.','2ИВТ');"
DoCmd.RunSQL "insert into Студент(ФИО, Группа) Values('Сидоров К. А.','2ИВТ')"
DoCmd.RunSQL "insert into Студент(ФИО, Группа) Values('Миронов А. В.','2ИВТ')"
DoCmd.RunSQL "insert into Студент(ФИО, Группа) Values('Крылова Т. С.','2ИВТ')"
DoCmd.RunSQL "insert into Студент(ФИО, Группа) Values('Владимиров В. А.','2ИВТ')"
DoCmd.RunSQL "insert into Студент(ФИО, Группа) Values('Трофимов П. А.','3ИВТ')"
DoCmd.RunSQL "insert into Студент(ФИО, Группа) Values('Иванова Е. А.','3ИВТ')"
DoCmd.RunSQL "insert into Студент(ФИО, Группа) Values('Уткина Н. В.','3ИВТ')"

DoCmd.RunSQL "insert into Дисциплина(Наименование, Группа) Values('Веб-программирование','3ИВТ')"
DoCmd.RunSQL "insert into Дисциплина(Наименование, Группа) Values('Операционные системы','3ИВТ')"
DoCmd.RunSQL "insert into Дисциплина(Наименование, Группа) Values('Компьютерные Сети','3ИВТ')"
DoCmd.RunSQL "insert into Дисциплина(Наименование, Группа) Values('Специальный курс','3ИВТ')"
DoCmd.RunSQL "insert into Дисциплина(Наименование, Группа) Values('Базы данных','2ИВТ')"
DoCmd.RunSQL "insert into Дисциплина(Наименование, Группа) Values('Программирование','2ИВТ')"
DoCmd.RunSQL "insert into Дисциплина(Наименование, Группа) Values('Иностранный язык','2ИВТ')"
DoCmd.RunSQL "insert into Дисциплина(Наименование, Группа) Values('Математическая логика','2ИВТ')"

DoCmd.RunSQL "insert into Экзамен(Код_студента, Код_дисциплины) select Студент.Код, Дисциплина.Код from Студент, Дисциплина where Студент.Группа=Дисциплина.Группа"
DoCmd.RunSQL "insert into Стипендия(Код_студента) select Студент.Код from Студент"


End Sub

'Удаление данных
Public Sub drop_data()
Dim strSQL As String
DoCmd.SetWarnings (False)

DoCmd.RunSQL "drop table Экзамен"
DoCmd.RunSQL "drop table Стипендия"
DoCmd.RunSQL "drop table Студент"
DoCmd.RunSQL "drop table Дисциплина"
DoCmd.RunSQL "drop index i_студент"
End Sub
