![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Пример выполнения работы
В примере рассматривается задача “Работа с читателем библиотеки”. Форма находит запись о читателе по номеру читательского билета и выводит информацию о книгах, которые на руках у читателя, подсчитывает общее количество книг у читателя и сумму пени. В форме размещенные такие объекты: · Текстовое поле, в которое вводится номер читательского билета. Имя поля - nbil; · Текстовые поля, в которые записываются фамилия, кафедра и телефон. Их имена соответственно fam, kaf, tel; · Командная кнопка с надписью " Найти читателя". Имя - cmdchit; · Командная кнопка для возвращения книги. Имя кнопки - vozvrat; · Командная кнопка для вызова формы поиска и получение новой книги. Имя - vzat; · Список, в котором показываются книги, которые находятся на руках у читателя. Имя списка - knigi; · Две надписи, расположенные под списком, в которых выводится общее количество книг и пеня, за задержку книг. Их имена - vsego, pena. Тексты программ, которые связанные с формой “Работа с читателем”. Private Sub cmdchit_Click() ' Найти читателя по номеру читательского билета ' Вывести его фамилию и список книг, которые у него на руках. ' Вычислить количество книг и пеню за просроченные книги Dim k As Integer, pen As Currency, i As Integer Dim s As String, s1 As String, s2 As String, s3 As String Dim rstreader As Recordset Dim bil As String, nom As String ' nbil.SetFocus bil = nbil.Text Set rstreader = CurrentDb.OpenRecordset(" Читачи", dbOpenDynaset) rstreader.FindFirst " [NB]='" & bil & " ' " If rstreader.NoMatch Then MsgBox " Вы ввели не верный номер чит. билета " nbil.SetFocus Else fam.SetFocus fam.Text = rstreader! [Фамилия] kaf.SetFocus kaf.Text = rstreader! [Кафедра] tel.SetFocus tel.Text = rstreader! [Телефон] ' Создается запрос и заполняется список книг читателя nbil.SetFocus s = " SELECT Книги.[Інв№], Книги.Автор, Книги.Название, ” & _ “Читкниги.[Дата выдачи], Читкниги.[Дата возврата], " s1 = " [Стоимость]*0.01*IIf([Дата возврата]< Date(), ” & _ “DateDiff(" " d" ", [Дата возврата], Date()), 0) AS Пеня " s2 = " FROM [Читкниги] INNER JOIN Книги" s3 = " ON Читкниги.[Інв№] = Книги.[Інв№] WHERE “ & _ “ Читкниги.NB=nbil.Text; " knigi.RowSource = s & s1 & s2 & s3 k = knigi.ListCount ‘ к – это количество строк в списке, то есть количество книг vsego.Caption = " Всего книг на руках - " & k pen = 0 ‘ Цикл по строкам списка, в котором вычисляется общая сумма пени For i = 0 To k - 1 pen = pen + knigi.Column(5, i) Next i pena.Caption = " Всего пени за просроченные книги - " & pen & " гр" End If End Sub
|