$desktop = [Environment]::GetFolderPath("Desktop")
$dbPath = Join-Path $desktop "Приемная комиссия.accdb"
if (Test-Path $dbPath) { Remove-Item $dbPath -Force }
$access = New-Object -ComObject Access.Application
$access.NewCurrentDatabase($dbPath)
$db = $access.CurrentDb()
# 1. Создание таблицы ФАКУЛЬТЕТЫ
$db.Execute("CREATE TABLE [ФАКУЛЬТЕТЫ] ([КОД_ФКТ] TEXT(2) PRIMARY KEY, [ФАКУЛЬТЕТ] TEXT(30), [ЭКЗАМЕН_1] TEXT(30), [ЭКЗАМЕН_2] TEXT(30), [ЭКЗАМЕН_3] TEXT(30))")
# 2. Создание таблицы СПЕЦИАЛЬНОСТИ
$db.Execute("CREATE TABLE [СПЕЦИАЛЬНОСТИ] ([КОД_СПЕЦ] TEXT(3) PRIMARY KEY, [СПЕЦИАЛЬНОСТЬ] TEXT(30), [КОД_ФКТ] TEXT(2), [ПЛАН] TEXT(255))")
# 3. Настройка связи (1-ко-многим, целостность, каскадное обновление и удаление)
$rel = $db.CreateRelation("ФАКУЛЬТЕТЫ_СПЕЦИАЛЬНОСТИ", "ФАКУЛЬТЕТЫ", "СПЕЦИАЛЬНОСТИ")
$rel.Attributes = 4352
$fld = $rel.CreateField("КОД_ФКТ")
$fld.ForeignName = "КОД_ФКТ"
$rel.Fields.Append($fld)
$db.Relations.Append($rel)
# 4. Добавление строки данных из примера
$db.Execute("INSERT INTO [ФАКУЛЬТЕТЫ] ([КОД_ФКТ], [ФАКУЛЬТЕТ], [ЭКЗАМЕН_1], [ЭКЗАМЕН_2], [ЭКЗАМЕН_3]) VALUES ('01', 'экономический', 'математика', 'география', 'русский язык')")
$access.CloseCurrentDatabase()
$access.Quit()
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($access) | Out-Null
Write-Host "Готово! База данных 'Приемная комиссия.accdb' создана на Рабочем столе." -ForegroundColor Green