Разработка базы данных библиотечного фонда города, страница 10

Рис 13 Режим формы для формы «Formyl_для ВЫДАЧИ»

Рис 14 Режим конструктора для формы «Formyl_для ВЫДАЧИ»

Текст программы на нажатие по полю при выборе книги:

Private Sub Список12_Click()

Forms![Formyl_для ВЫДАЧИ]![Invent_n] = Forms![Formyl_для ВЫДАЧИ]!Список12.Column(9)

End Sub

При нажатии на кнопку «Возврат книги от читателя» происходит открытие формы «Formyl_для ВОЗВРАТА».

Текст программы на нажатие кнопки:

Private Sub Кнопка2_Click()

DoCmd.OpenForm " Formyl_для ВОЗВРАТА "

End Sub

Интерфейс этой формы (Рис 15) позволяет пользователю производить возврат книги от читателя. Для этого необходимо выбрать из поля со списком «n_chit_bileta» читательского билета. Автоматически будут отображаться взятые читателем книги и будет выставляться инвентарный номер в поле «Invent_n».

Поля «Data_vozvrata»  и «Data_v» будут отображать данные о выдаче книги и дате, когда её необходимо вернуть, что очень удобно при поиске читателей, которые задерживают книги больше допустимого срока (30 дней).

Рис 15 Режим формы для формы «Formyl_для ВОЗВРАТА»

Рис 16 Режим конструктора для формы «Formyl_для ВОЗВРАТА»

Текст программы при выборе номера читательского билета:

Private Sub Кнопка14_Click()

End Sub

Private Sub n_chit_bileta_AfterUpdate()

Dim rst As Object

Dim strS As String

strS = CStr(Me!n_chit_bileta)

Set rst = Me.Recordset.Clone

rst.FindFirst "[n_chit_bileta] = " & strS

If Not NoMatch Then Me.Bookmark = rst.Bookmark

rst.Close

DoCmd.GoToControl Me.Список20.Name

DoCmd.Requery (Me.Список20.Name)

End Sub

При нажатии на кнопку «Работа в читальном зале» происходит открытие формы «chitatel_v_zale».

Текст программы на нажатие кнопки:

Private Sub Кнопка3_Click()

DoCmd.OpenForm " chitatel_v_zale "

End Sub

Интерфейс этой формы (Рис 17) позволяет пользователю производить выдачу (книги/журнала/газеты) читателю для работы в зале. Забирать книгу на дом не допускается, предполагается наличие серьезной системы безопасности в каждом читальном зале. Для того чтобы обеспечить выдачу фонда для работы читателя в зале необходимо перейти на последнюю запись (если этого не сделать, то произойдёт изменение данных в базе, которое приведёт к невыполнению непротиворечивости и достоверности даны в базе, что является недопустимым) и заполнить поля формы.

Данная форма работает следующим образом: поле «Chet_k» является счётчиком (заполняется автоматически), поле «n_podchivki» заполняется автоматически сразу же как только происходит выбор газеты из списка газет, поле «Invent_n» заполняется автоматически сразу же как только происходит выбор книги из списка книг, остальные поля заполняются  вручную.

Рис 17 Режим формы для формы «chitatel_v_zale»

Рис 18 Режим конструктора для формы «chitatel_v_zale»

Программный код для обработчиков выбора книги и газеты:

Private Sub Список14_Click()

Forms!chitatel_v_zale!Invent_n = Forms!chitatel_v_zale!Список14.Column(0)

End Sub

Private Sub Список17_Click()

Forms!chitatel_v_zale!n_podchivki = Forms!chitatel_v_zale!Список17.Column(0)

End Sub

При нажатии на кнопку «Мои запросы» происходит открытие формы «Мои запросы».

Текст программы на нажатие кнопки:

Private Sub Кнопка4_Click()

DoCmd.OpenForm " Мои запросы "

End Sub

Интерфейс этой формы позволяет пользователю производить выбор необходимого запроса.

На рисунке 19 показана форма «Мои запросы», которая появляется сразу после нажатия на кнопку «Мои запросы». Как видно из рисунка, она содержит 8 кнопок, с помощью которых можно производить выбор необходимого запроса.

Запросы позволяют выполнить операции: Данные о выработке библиотекарей, Список читателей с просроченным сроком литературы, Просмотр алфавитного и систематического каталогов, Список библиотекарей в указанном читальном зале некоторой библиотеки, Список читателей непосещавших библиотеку в течение времени, Список поступившей литературы за некоторый период, Список списанной литературы за некоторый период, Список самых популярных произведений за последний год.