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