Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Пример выполнения работы






В примере рассматривается задача “Работа с читателем библиотеки”. Форма находит запись о читателе по номеру читательского билета и выводит информацию о книгах, которые на руках у читателя, подсчитывает общее количество книг у читателя и сумму пени.

В форме размещенные такие объекты:

· Текстовое поле, в которое вводится номер читательского билета. Имя поля - 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

 


Рисунок 29. Форма Работа с читателем.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.