![]() КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
End Sub
End Sub Rst.Close End If Else Rst.MoveFirst Rst.Close End If Next i Rst.MoveNext Else If rst.EOF And rst.BOF Then Rst.MoveFirst Rst.MoveLast Rst.Close End If End If Else Next i Rst.MoveNext End If Else If rst.EOF And rst.BOF Then Rst.MoveFirst Rst.MoveLast Rst.Close Next i Rst.MoveNext End If If rst.EOF And rst.BOF Then Rst.MoveFirst Rst.MoveLast Rst.Close End If Exit Sub If rst.EOF And rst.BOF Then Rst.MoveFirst Rst.MoveLast Dim strSQL As String Dim n As Long Dim s As Long Dim i As Long End Sub FrmStat.Hide Public rst As Recordset Public dbsData As Database Private Sub cmbOk_Click() Private Sub Form_Activate() Set rst = dbsData.OpenRecordset("Spisok", dbOpenDynaset) txtKol.Text = "" txtSrBall.Text = "" txtWord.Text = "" txtExel.Text = "" txtAccess.Text = "" ' общее количество студентов соответствует количеству записей в таблице Spisok txtKol.Text = rst.RecordCount ' для подсчета общего балла достаточно взять все оценки из таблицы Ocenki Set rst = dbsData.OpenRecordset("Ocenki", dbOpenDynaset) txtSrBall.Text = "0" s = 0 For i = 1 To rst.RecordCount s = s + rst.Fields("Ocenka").Value ' при подсчете среднего получится вещественное число, представим его в форматированном виде txtSrBall.Text = Format(s / rst.RecordCount, "0.00") ' подсчитаем оценки с кодом предмета 1 (Word) Set rst = dbsData.OpenRecordset("Ocenki", dbOpenDynaset) txtWord.Text = "0" s = 0 n = 0 For i = 1 To rst.RecordCount If rst.Fields("CodPredm").Value = 1 Then s = s + rst.Fields("Ocenka").Value n = n + 1 If n = 0 Then txtWord.Text = "0" txtWord.Text = Format(s / n, "0.00") ' сформируем запрос который будет содержать только оценки с кодом предмета 2 (Exel) Set rst = dbsData.OpenRecordset("Select * From Ocenki Where CodPredm = 2", dbOpenDynaset) txtExel.Text = "0" s = 0 For i = 1 To rst.RecordCount s = s + rst.Fields("Ocenka").Value txtExel.Text = Format(s / rst.RecordCount, "0.00") ' и самый простой вариант - подсчет произвести с помощью SQL запроса strSQL = "SELECT Sum([Ocenki]![Ocenka])/Count([Ocenki]![Ocenka]) AS Access " & _ "From Ocenki WHERE (((Ocenki.CodPredm)=3));" Set rst = dbsData.OpenRecordset(strSQL, dbOpenDynaset) If IsNull(rst.Fields("Access")) Then txtAccess.Text = "0" txtAccess.Text = Format(rst.Fields("Access"), "0.00") Private Sub Form_Load() Set dbsData = OpenDatabase("dbLaba.mdb")
Протестируйте приложение полностью, проверьте работу всех функциональных возможностей. По окончании скомпилируйте exe-файл своей работы (File – Make Project1.exe), указав свое имя проекта и предоставьте преподавателю для защиты.
Дата добавления: 2014-12-27; Просмотров: 362; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |