Diplom (664455), страница 9
Текст из файла (страница 9)
lcName-Название нового раздела;
lnParent-Номер узла дерева разделов в который производиться добавление.
Добавление новой карточки производится в форме показанной на рисунке 4.21.
Рис. 4.21 Добавление новой карточки издания
Для добавления новой карточки необходимо ввести следующую информацию:
-
Авторский знак;
-
Автора или список авторов;
-
Составителя или список составителей;
-
Редактора или список редакторов;
-
Вид издания;
-
Год издания
-
Название издания;
-
Издательство;
-
Город издательства;
-
Перечень инвентарных номеров;
-
Краткую аннотацию.
Для ввода автора (списка авторов), составителя (списка составителей), редактора (списка редакторов) и издательства используются списки полученные на основе таблиц Creators и Publisher соответственно.
Добавление производится командами SQL-Insert следующего вида:
INSERT INTO Books (IssId, BookId, Name, PublId, PublYear, Date) VALUES (lnIssId, lnBookId, lcName, lnPublId, lnPublYear, DATE())
INSERT INTO BookAutor (UniqId, BookId, AutorId) VALUES (lnUniqId, lnBookId, lnAutorId)
INSERT INTO BookNum (BookId, Number) VALUES (lnBookId, lnNumber)
4.2.3.9 Изменение
При выборе опции “Изменение” главной формы, появляется всплывающее меню для выбора типа изменения: “Изменить раздел”, “Изменить карточку”. Формы для изменения информации о разделе и о карточки идентичны формам представленным в разделе “Добавить”. Кроме изменения данных о авторах, названиях, издательствах, инвентарных номерах и аннотациях, возможно изменение расположения в разделах, которое производится выбором нового узла из дерева разделов. При этом если изменение расположения в дереве производится для раздела, все карточки находящиеся в данном разделе автоматически переносятся вместе с разделом.
Для изменения значений в таблице Issue можно применить команду SQL-Update имеющей вид:
UPDATE Issue ;
SET bbk=lnbbk, ;
name=lnName, ;
parent=lnParent ;
WHERE id=lnId
Где в качестве элемента фильтра применяется уникальный номер группы из таблицы Issue.
Для изменения значений в таблице Books необходимо применить несколько аналогичных функций.
4.2.3.10 Печать.
При выборе этой функции открывается системное окно выбора принтера, для задания параметров печати, после выбора параметров осуществляется печать библиографической карточки издания.
4.2.4 Модуль картотеки читателей.
На рисунке 4.22 показана структурная схема модуля для работы с картотекой читателей. Далее рассмотрим подробнее данную структурную схему.
Схема отображает связи функций и возможные переходы между функциями, отображает входные и выходные формы, позволяет оценить возможности данного структурного модуля.
4.2.4.1 Главная форма
Рис. 4.23 Главная форма модуля картотеки читателей
Р
ис. 4.22 Структурная схема модуля картотеки читателей
На рисунке 4.23 представлена главная форма для работы с картотекой читателей. Слева располагается дерево групп, в котором отображаются групп читателей. Справа находится таблица, содержащая список читателей для выбранной группы, в ней отображаются следующие данные:
-
Фамилия, имя и отчество читателя;
-
Количество изданий находящихся на руках;
-
Количество изданий с просроченным сроком сдачи;
-
Дата регистрации читателя;
-
Дата последнего посещения;
-
Дата рождения читателя;
-
Телефон читателя;
Вверху справа располагается меню (набор кнопок) для выбора функций, предусмотрены следующие функции:
-
Просмотр карточки читателя с возможностью выдачи и сдачи изданий;
-
Поиск по выбранным значениям;
-
Сортировка групп и карточек читателей;
-
Наложение фильтра на выбранную группу;
-
Настройка отображаемых полей формы;
-
Добавление новых групп и карточек читателей;
-
Редактирование добавленных ранее групп и карточек читателей;
-
Формирование, просмотр и печать разнообразной статистики;
-
Печать карточки читателя.
В нижней части формы представлена строка статуса, в которой слева отображается общее количество групп читателей и общее количество карточек читателей, а справа количество подгрупп в выбранной группе, общее количество карточек в этих подгруппах, количество карточек в текущей группе, количество выбранных карточек, а также здесь расположен индикатор, в котором при длительных операциях производится отображение хода процесса.
Для главной формы картотеки читателей рассмотрим получение списка читателей, для этого используются SQL запрос, который будет иметь вид:
SELECT Name1.name AS Fam, ;
Name2.name AS Name, ;
Name3.name AS Otch, ;
Street.street AS StreetName, ;
City.city AS CityName, ;
Abonents.house_fl AS House_Flat, ;
Abonents.telefon AS Telefon, ;
Abonents.date1 AS Date1, ;
Abonents.date2 AS Date2 ;
Abonents.comment AS Comment,;
FROM library!Name1 INNER JOIN library!Abonents;
INNER JOIN library!Name2;
INNER JOIN library!Name3;
INNER JOIN library!Street;
INNER JOIN library!City ;
ON City.cityid = Abonents.cityid ;
ON Street.streetid = Abonents.streetid ;
ON Name3.nameid = Abonents.name3 ;
ON Name2.nameid = Abonents.name2 ;
ON Name1.namrid = Abonents.name1;
WHERE Abonents.grid = lngrid ;
INTO CURSOR vwAbon
Пример 4.6 SQL-запрос получение списка читателей
В качестве фильтрующего параметра для таблицы читателей Abonents используется уникальный код группы из таблицы Groups.
4.2.4.2 Просмотр
На рисунке 4.24 представлена форма развёрнутого просмотра со следующей информацией:
-
Фамилия, имя и отчество читателя;
-
Дата рождения;
-
Адрес читателя;
-
Телефон читателя;
-
Примечание к карточке читателя;
-
Дата регистрации;
-
Дата последнего посещения.
Рис. 4.24 Просмотр карточки читателя
Данные для формы обеспечиваются на основе SQL-запроса который представлен в примере 4.6.
Для данной формы предусмотрены дополнительные функции:
-
Просмотр списка выданных изданий;
-
Печать карточки читателя.
На форме просмотра списка выданных экземпляров, которая показана на рисунке 4.25, доступна информация о:
-
Дате выдачи;
-
Инвентарном номере выданного переплёта;
-
Номере раздела по ББК;
-
Авторе издания;
-
Названии издания.
Рис. 4.25 Просмотр списка изданий
По умолчанию показываются только те экземпляры, которые в текущий момент являются выданными абоненту.
Предусмотрены следующие функциональные возможности:
-
Выдача издания читателю, с возможность поиска по картотеке фондов или быстрый поиск по инвентарному номеру;
-
Приём издания от читателя;
-
Просмотр библиографической карточки выданного издания;
-
Изменение фильтра для просмотра, задолженных экземпляров или всех изданий, которые выдавались читателю;
-
Печать списка;
-
Изменение порядка сортировки отображаемых данных.
Данные для формы получаем SQL-запросом следующего вида:
SELECT Bookuse.number AS BookNum, ;
Bookuse.date1 AS BookDate1, ;
Bookuse.date2 AS BookDate2 ;
FROM library!BookNum INNER JOIN library!BookUse ;
ON Booknum.number = Bookuse.number;
WHERE Bookuse.abonid = lnabonid ;
INTO CURSOR vwUseBook
Пример 4.7 SQL-запрос получение списка изданий для читателя
В качестве элементов фильтра используется уникальный код читателя таблицы Abonents.
4.2.4.3 Поиск
Рис. 4.26 Поиск карточки читателя
На рисунке 4.26 показана форма для ввода параметров поиска. Поиск может осуществляться по группам и по карточкам читателей, для этого необходимо определить хотя бы один из следующих параметров:
-
Название группы;
-
Номер читательского билета;
-
Фамилию;
-
Имя;
-
Отчество читателя;
-
Дату регистрации;
-
Дату последнего посещения.
Поиск может осуществляется по любой комбинации параметров.
Для параметров “Название группы”, “Фамилия”, “Имя” и “Отчество” возможен выбор значения из списка формируемого на основе таблиц Issue, Name1, Name2 и Name3 соответственно. В форме просмотра результатов поиска, показанной на рисунке, первыми отображаются данные наиболее соответствующие введённым значениям, те которые удовлетворяют логическому условию И, затем все которые удовлетворяют логическому условию ИЛИ.
Рис. 4.27 Просмотр результатов поиска
В форме просмотра результатов поиска (рис.4.27) отображается следующая информация:
-
Название группы читателя;
-
Номер билета читателя;
-
Фамилия, имя и отчество читателя;
-
Дата регистрации.
Для формы просмотра результатов поиска предусмотрены следующие функции:
-
Переход на карточку читателя;
-
Переход к группе, к которому относится карточка читателя;
-
Изменение порядка сортировки отображаемых данных.
4.2.4.4 Сортировка
На рисунке 4.28 показана форма для задания порядка отображения записей в списке карточек читателей. Для задания порядка отображения в списке читателей доступны следующие параметры:
Рис. 4.28 Сортировка карточек читателей
-
Номер читательского билета;
-
Фамилия, имя и отчество;
-
Выдано экземпляров;
-
Дата регистрации;
-
Дата рождения читателя;
-
Телефон читателя.
Так же форма предоставляет возможность просмотра текущих установок. После выбора параметра для сортировки в списке читателей, он отображается в заголовке соответствующего столбца таблицы изменением шрифта надписи на курсив.
4.2.4.5 Фильтр
На рисунке 4.29 показана форма для задания условий фильтрации в списке читателей выбранной группы. Фильтр может задаваться по следующим параметрам:
-
Диапазону номеров читательских билетов;
Рис. 4.29 Задание фильтра для списка карточек читателей
-
Фамилии, имени и отчеству читателя;
-
Диапазону количества выданных экземпляров;
-
Диапазону дат регистрации;
-
Диапазону дат последнего посещения;
-
Диапазону дат рождения читателей.
Фильтрация может производиться по любой совокупности выбранных параметров. Отмеченные, но не заполненные параметры при установке фильтра не учитываются. Выбранные параметры хранятся как массив главной формы картотеки читателей, а установка фильтра производиться командой SET FILTER TO [список параметров].
Для параметра “Ф. И. О.”, выбор значений может производиться как определением списка из набора, в котором содержатся только уникальные значения полученные на основе выборок из результата работы запроса показанного в примере 4.6, так и на основе ручного ввода.
4.2.4.6 Настройка
На рисунке 4.30 показана форма для настройки выводимой информации в списке читателей выбранной группы. Так же в форме отображается текущая настройка выводимой информации. Для настройки отображения доступны следующие параметры:
-
Номер читательского билета;
-
Фамилии, имени и отчества;
-
Выданное количество экземпляров;
Рис. 4.30 Настройка выводимых атрибутов
-
Дата регистрации читателя;
-
Дата последнего посещения;
-
Дата рождения читателя;
-
Телефон читателя;
-
Адрес читателя.
4.2.4.7 Добавление
При выборе опции “Добавление”, главной формы модуля картотеки читателей, появляется всплывающее меню для выбора типа добавления: “Добавить группу”, “Добавить карточку”.