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


Sub Zadacha3()
    Dim dbs As Database, rst As Recordset
    Dim kolMsk As Long, kolSpb As Long
    
    Set dbs = CurrentDb
    Set rst = dbs.OpenRecordset("Студенты", dbOpenDynaset)
    
    ' --- 1) Считаем студентов из Москвы и Санкт-Петербурга ---
    kolMsk = 0
    kolSpb = 0
    Do Until rst.EOF
        If rst![Место рождения] = "Москва" Then
            kolMsk = kolMsk + 1
        ElseIf rst![Место рождения] = "Санкт-Петербург" Then
            kolSpb = kolSpb + 1
        End If
        rst.MoveNext
    Loop
    
    ' --- 2) Меняем стипендию в зависимости от того, кого больше ---
    If kolMsk > kolSpb Then
        ' москвичей больше → снижаем им стипендию в 1.1 раза
        rst.MoveFirst
        Do Until rst.EOF
            If rst![Место рождения] = "Москва" Then
                rst.Edit
                rst!Стипендия = Nz(rst!Стипендия, 0) / 1.1
                rst.Update
            End If
            rst.MoveNext
        Loop
        MsgBox "Москвичей больше (" & kolMsk & "). Стипендия снижена в 1.1 раза."
    Else
        ' москвичей меньше (или равно) → увеличиваем стипендию студентам из СПб в 2.5 раза
        rst.MoveFirst
        Do Until rst.EOF
            If rst![Место рождения] = "Санкт-Петербург" Then
                rst.Edit
                rst!Стипендия = Nz(rst!Стипендия, 0) * 2.5
                rst.Update
            End If
            rst.MoveNext
        Loop
        MsgBox "Студентов из СПб больше или поровну. Стипендия СПб увеличена в 2.5 раза."
    End If
    
    rst.Close
    Set dbs = Nothing
End Sub