Загрузка данных


Sub CreateTableVedomost()
    Dim dbs As Database, tdf As TableDef, fld As Field, idx As Index
    Dim tName As String
    Set dbs = CurrentDb
    tName = "Зачетная ведомость"
    
    ' Удаляем таблицу, если уже существует
    Call DropTable(tName)
    
    Set tdf = dbs.CreateTableDef(tName)
    
    ' --- Составной первичный ключ из трёх полей ---
    Set idx = tdf.CreateIndex
    idx.Name = "PK_Vedomost"
    idx.Fields.Append idx.CreateField("НомерЗачКнижки")
    idx.Fields.Append idx.CreateField("НомерДисциплины")
    idx.Fields.Append idx.CreateField("НомерПреподавателя")
    idx.Primary = True
    tdf.Indexes.Append idx
    tdf.Indexes.Refresh
    
    ' --- Поля таблицы ---
    Set fld = tdf.CreateField("НомерЗачКнижки", dbLong)
        tdf.Fields.Append fld
    Set fld = tdf.CreateField("НомерДисциплины", dbLong)
        tdf.Fields.Append fld
    Set fld = tdf.CreateField("НомерПреподавателя", dbLong)
        tdf.Fields.Append fld
    Set fld = tdf.CreateField("ЗачтеноНезачтено", dbText, 50)
        tdf.Fields.Append fld
    Set fld = tdf.CreateField("Оценка", dbByte)
        tdf.Fields.Append fld
    Set fld = tdf.CreateField("ДатаСдачи", dbDate)
        tdf.Fields.Append fld
    tdf.Fields.Refresh
    
    dbs.TableDefs.Append tdf
    dbs.TableDefs.Refresh
    Set dbs = Nothing
    
    MsgBox "Таблица 'Зачетная ведомость' создана"
End Sub