Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Public rstSpisok As RecordsetСодержание книги
Поиск на нашем сайте Private Sub cmbCancel_Click() FrmPrint.Hide End Sub Private Sub cmbPrint_Click() Dim strPrint As String Dim i As Integer Set Printer = Printers(0) Printer.Font.Name = "Times New Roman" Printer.Font.Size = 14 For i = 0 To lstPrint.ListCount - 1 Printer.Print lstPrint.List(i) Next i Printer.EndDoc End Sub Private Sub Form_Activate() Dim i As Long LstPrint.Clear If rstSpisok.EOF And rstSpisok.BOF Then Exit Sub lstPrint.AddItem "СПИСОК УЧАЩИХСЯ КОМПЬЮТЕРНОЙ ШКОЛЫ" lstPrint.AddItem "" i = 1 RstSpisok.MoveLast RstSpisok.MoveFirst While Not (rstSpisok.EOF) lstPrint.AddItem CStr(i) + ". " + rstSpisok.Fields("Familie") + " " + rstSpisok.Fields("Imja") + " группа: " + CStr(rstSpisok.Fields("Group").Value) i = i + 1 RstSpisok.MoveNext Wend End Sub Private Sub Form_Load() Set dbsData = OpenDatabase("dbLaba.mdb") Set rstSpisok = dbsData.OpenRecordset("Spisok", dbOpenDynaset) End Sub
Сохраните проект. Проверьте работу приложения. В момент запуска формы frmPrint на экране отображаются данные в том виде, в каком они будут отправлены на печать. Уточните у преподавателя или лаборанта возможность распечатки списка, или дождитесь, пока преподаватель продемонстрирует работу данной функции всем студентам. Запрограммируем работу пункта меню «Статистика». В данной части работы рассмотрим различные способы обработки числовой информации из БД. Создайте новую форму (frmStat) и разместите на ней элементы (txtKol, txtSrBall, txtWord, txtExel, txtAccss, cmbOk).
Следующий программный код реализует подсчет заданных значений.
Public dbsData As Database Public rst As Recordset Private Sub cmbOk_Click() FrmStat.Hide End Sub Private Sub Form_Activate() Dim i As Long Dim s As Long Dim n As Long Dim strSQL As String Set rst = dbsData.OpenRecordset("Spisok", dbOpenDynaset) Rst.MoveLast Rst.MoveFirst If rst.EOF And rst.BOF Then txtKol.Text = "" txtSrBall.Text = "" txtWord.Text = "" txtExel.Text = "" txtAccess.Text = "" Exit Sub End If ' общее количество студентов соответствует количеству записей в таблице Spisok txtKol.Text = rst.RecordCount Rst.Close ' для подсчета общего балла достаточно взять все оценки из таблицы Ocenki Set rst = dbsData.OpenRecordset("Ocenki", dbOpenDynaset) Rst.MoveLast Rst.MoveFirst If rst.EOF And rst.BOF Then txtSrBall.Text = "0" End If s = 0 For i = 1 To rst.RecordCount s = s + rst.Fields("Ocenka").Value Rst.MoveNext Next i ' при подсчете среднего получится вещественное число, представим его в форматированном виде txtSrBall.Text = Format(s / rst.RecordCount, "0.00") Rst.Close ' подсчитаем оценки с кодом предмета 1 (Word) Set rst = dbsData.OpenRecordset("Ocenki", dbOpenDynaset) Rst.MoveLast Rst.MoveFirst If rst.EOF And rst.BOF Then txtWord.Text = "0" Else 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 End If Rst.MoveNext Next i If n = 0 Then txtWord.Text = "0" Else txtWord.Text = Format(s / n, "0.00") End If End If Rst.Close ' сформируем запрос который будет содержать только оценки с кодом предмета 2 (Exel) Set rst = dbsData.OpenRecordset("Select * From Ocenki Where CodPredm = 2", dbOpenDynaset) Rst.MoveLast Rst.MoveFirst If rst.EOF And rst.BOF Then txtExel.Text = "0" Else s = 0 For i = 1 To rst.RecordCount s = s + rst.Fields("Ocenka").Value Rst.MoveNext Next i txtExel.Text = Format(s / rst.RecordCount, "0.00") End If Rst.Close ' и самый простой вариант - подсчет произвести с помощью SQL запроса strSQL = "SELECT Sum([Ocenki]![Ocenka])/Count([Ocenki]![Ocenka]) AS Access " & _ "From Ocenki WHERE (((Ocenki.CodPredm)=3));" Set rst = dbsData.OpenRecordset(strSQL, dbOpenDynaset) Rst.MoveFirst If IsNull(rst.Fields("Access")) Then txtAccess.Text = "0" Else txtAccess.Text = Format(rst.Fields("Access"), "0.00") End If Rst.Close End Sub Private Sub Form_Load() Set dbsData = OpenDatabase("dbLaba.mdb") End Sub
Протестируйте приложение полностью, проверьте работу всех функциональных возможностей. По окончании скомпилируйте exe-файл своей работы (File – Make Project1.exe), указав свое имя проекта и предоставьте преподавателю для защиты.
Лабораторная работа №6.
|
||
|
Последнее изменение этой страницы: 2017-01-25; просмотров: 219; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.119 (0.005 с.) |