База данных "Читальный зал"

Введение.

 

Современные компьютеры могут  хранить самые разнообразные  данные: записи, документы, графику, звуко-и видеозаписи, научные и другие, во множестве форматов. Совокупность сведений о каких – либо объектах, процессах, событиях или явлениях, организованная таким образом, чтобы можно было легко представить любую часть этой совокупности, называют базой данных (БД). Задачи хранения, получения, анализа, визуализации данных принято называть управлением данных, а программы для решения подобных задач – системами управления базами данных.

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

Таким образом можно сказать, что БД обеспечивает хранение данных, а СУБД – получение информации.

На сегодняшний день базы данных в локальных и глобальных сетях пользуются повсеместно. Например, большинство интернет-сайтов, к которым  мы обращаемся с целью получения информации, являются динамичными, то есть получают эту информацию из своих баз данных. Без  базами данных включает этого была бы не возможна работа поисковых систем, интернет – магазинов, систем заказов билетов.

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

В данной работе представлена база данных «Читальный зал». В этой работе я попыталась автоматизировать систему работы читального зала.

 

 

Глава первая. «Постановки задачи»

1.1.Постановка цели

Необходимо создать базу данных «Читальный зал». База данных должна обеспечивать занесение новых данных, поиск, удаление записей. Библиотека заинтересована в автоматизации учета читателей, экземпляров, выдачи экземпляров читателям и сдачи экземпляров читателями, а так же заказов на издания. База данных должна обеспечивать учет экземпляров и читателей. Должно поддерживаться автоматическое формирование отчетов о читателях, имеющих задолженности и об экземплярах, которые не были возвращены в срок. Предложенный в настоящей курсовой работе проект направлен на достижение указанных целей.

 1.2.Назначение базы данных «Читальный зал»

 База данных «Читальный  зал» предназначена для автоматизации  процесса учета и контроля  обращения фондов читального  зала.

1.3.Функции базы данных «Читальный зал»

  • Занесение новых книг в архив библиотеки
  • Занесение новых читателей
  • Поиск книги
  • Поиск читателей
  • Регистрация заказов

1.4. Категория пользователей.

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

 

1.5. Обоснование выбора СУБД.

Для реализации поставленной в данной работе задачи оптимальной является база Microsoft Access из пакета Microsoft Office

MS Access хранит данные в одном файле, но доступ к ним организован так, чтобы не использовать лишние ресурсы памяти. Отметим, что некоторые другие СУБД хранят информацию в разных файлах, но работе с ними это никак не мешает.

СУБД имеет развитую систему  защиты от несанкционированного доступа, а также возможность одновременной  работы многих пользователей с одним  файлом.

В MS Access возможно создание связи между таблицами, что позволяет совместно использовать данные из разных таблиц. Это экономит память, увеличивает скорость обработки данных, позволяет избежать ненужного дублирования и лишних ошибок.

СУБД MS Access  обычно применяется в тех случаях, когда прикладная задача требует хранения и обработки разнородной информации о большом количестве объектов и предполагает возможность многопользовательского режима работы. Тем не менее даже для хранения не очень большого объема данных в некоторых случаях лучше использовать пакет MA Access  просто потому, что в нем заранее предусмотрена защита не только от несанкционированного доступа, но и от не вполне корректного обращения, то есть выше сохранность данных.

- Операционная система  не ниже Windows 98;

- Процессор с частотой  обновления не менее 2 Гц;

- 512 Мб физической памяти;

- Не менее 300 Мб доступного  пространства на локальном диске.

 

 

 

 

 

 

 

 

Глава вторая «Проектирование базы данных «Читальный зал»

2.1. Понятие концептуальное (инфологическое) проектирование баз данных

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

Концептуальное  проектирование - сбор, анализ и редактирование требований к данным. На этой стадии проектирования создается семантическая модель предметной области. Для этого осуществляются следующие мероприятия:

    • обследование предметной области, изучение ее информационной структуры
    • выявление всех фрагментов, каждый из которых характеризуется пользовательским представлением, информационными объектами и связями между ними, процессами над информационными объектами
    • моделирование и интеграция всех представлений

По окончании данного  этапа получаем концептуальную модель, инвариантную к структуре базы данных. Она не ориентирована на какую либо СУБД.

Первый этап построения локальной  концептуальной модели состоит в  определении основных пунктов, которые  могут интересовать пользователя. Эти  пункты являются типами сущностей, входящих в модель. Один из методов идентификации  сущностей состоит  в изучении спецификаций по выполнению конкретных функций пользователей на данном предприятии.

Далеко не всегда очевидно то, чем является определенный объект – сущностью, связью или атрибутом. Разработчики БД должны ограничивать предметную область рамками того взгляда на мир и существующие в нем категории, который  задается  контекстом предприятия и создаваемого для него приложения.

Прежде, чем приступать к  созданию системы автоматизированной обработки информации, разработчик  должен сформировать понятия о предметах, фактах и событиях, которыми будет  оперировать данная система. Для  того, чтобы привести эти понятия  к той или иной модели данных, необходимо заменить их информационными  представлениями. Одним из наиболее удобных инструментов унифицированного представления данных, независимого от реализующего его программного обеспечения, является модель "сущность-связь" (entity - relationship model, ER - model).

Модель "сущность-связь" основывается на некой важной семантической  информации о реальном мире и предназначена  для логического представления  данных. Она определяет значения данных в контексте их взаимосвязи с  другими данными. Важным для нас является тот факт, что из модели "сущность-связь" могут быть порождены все существующие модели данных (иерархическая, сетевая, реляционная, объектная), поэтому она является наиболее общей.

Любой фрагмент предметной области может быть представлен  как множество сущностей, между  которыми существует некоторое множество  связей. Дадим определения:

Сущность (entity) - это объект, который может быть идентифицирован неким способом, отличающим его от других объектов. Примеры: конкретный человек, предприятие, событие и т.д.

Объект имеет уникальный идентификатор и может сравниваться с другими объектам только по значению идентификатора, следствием чего является возможность определения множественных  операций над объектами в терминах их идентификаторов;

Набор сущностей (entity set) - множество сущностей одного типа (обладающих одинаковыми свойствами). Примеры: все люди, предприятия, праздники и т.д. Наборы сущностей не обязательно должны быть непересекающимися. Например, сущность, принадлежащая к набору МУЖЧИНЫ, также принадлежит набору ЛЮДИ.

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

То число сущностей, которое  может быть ассоциировано через  набор связей с другой сущностью, называют степенью связи. Рассмотрение степеней особенно полезно для бинарных связей. Могут существовать следующие  степени бинарных связей:

    • Один- к – одному (1:1) Это означает, что в такой связи сущности с одной ролью всегда соответствует не более одной сущности с другой ролью.
    • Один – ко – многим (1:n ) В данном случае сущности с одной ролью может соответствовать любое число сущностей с другой ролью.
    • Много – к одному (n:1) В этом случае каждая из ассоциированных сущностей может быть представлена любым количеством экземпляров.

Принимая во внимание все  выше сказанное, делаем вывод что в данном проекте объектами являются: книги, читатели и заказ.

 

 

 

 

 

 

 

 

 

 

Читают



Книги


Посетители




 


Делают


Перемещают


ся


 

 

 

Заказ



 

Администратор



Рис. 1. ER – модель системы «Читальный зал»

2.2 . Даталогическое проектирование

На этапе даталогического проектирования строится логическая структура БД. При этом происходит преобразование исходной инфологической модели в модель данных, которая поддерживается конкретной СУБД. После этого производится проверка адекватности даталогической модели, отображаемой предметной области. Конечным результатом даталогического проектирования является описание структуры БД на языке описания данных конкретных СУБД.

В простейшем случае это  может быть локальная база данных на персональном компьютере, функционирующая  под управлением офисной СУБД, например MS Access.

В информационном аспекте  разрабатываются даталогические модели базы данных (прямое проектирование Forward Engineering), а также уточняются модели инфологического уровня (обратное проектирование Revers Engineering), разрабатываются схемы данных всех уровней, конструируются в терминах языка конкретной СУБД (часто это SQL) запросы к базе данных. Здесь могут быть полезны CASE-средства проектирования баз данных, такие как ERwin.

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

Организационный аспект связан с вопросами планирования и организации  работ, создания коллективов разработчиков  и контроля за сроками и качеством выполняемых работ. Организационное обеспечение проекта включает выбор методов и инструментальных средств для реализации проекта, определение методов описания промежуточных состояний разработки, разработку методов и средств испытаний системы, обучение персонала и т.п.

На этапе даталогического проектирования приходится разрешать конфликт между желаемой эффективностью прикладных программ и качеством структуры базы данных. Основная цель проектирования базы данных - это сокращение избыточности хранимых данных, а следовательно, экономия объема используемой памяти, уменьшение затрат на многократные операции обновления избыточных копий и устранение возможности возникновения противоречий из-за хранения в разных местах сведений об одном и том же объекте. Так называемый «чистый» проект базы данных («каждый факт в одном месте») можно создать, используя методологию нормализации отношений. Нормализация структуры базы данных позволяет устранить дефекты ненормализованной структуры, проявляющиеся при выполнении корректирующих запросов         (т.н. аномалии добавления, обновления и удаления). Нормализация структуры данных важна потому, что она способствует углубленному пониманию разработчиком семантики данных предметной области. В результате применения нормализации удается получить весьма гибкий проект базы данных, позволяющий вносить в него необходимые расширения. Однако при этом важно помнить, что нормализация оптимизирует выполнение корректирующих запросов за счет производительности запросов-выборок. Если к приложению предъявляются повышенные требования в отношении их производительности, то эта проблема может решаться путем контролируемой денормализации отдельных реляционных таблиц.

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

Рассмотрим основные особенности реляционной модели базы данных.

Одним из самых естественных способов представления данных является двухмерная таблица. Связи между  данными также могут быть представлены в виде двухмерных таблиц.

Таблица такого рода называется отношением. Независимо от того, сколько  таблиц входит в базу данных, каждая строка любой таблицы содержит данные об одном объекте (человеке, книге, техническом  устройстве и т.д), а столбцы содержат различные характеристики этих объектов (название, адреса, даты и т.д.). Строки таблицы принято называть записями, а столбцы- полями записей. Все записи имеют одинаковые поля, содержащие разные значения атрибутов. Каждое поле записи имеет строго определенный тип данных – текст, число, дата и т.п.

 

В базе данных «Читальный зал» имеется шесть таблиц.

Таблица «BOOKS»

 

Поле «ID_книги» - тип счетчик. Ключевое поле. Указывается порядковый номер книги в хранилище читального зала.

Поле «ББК» - тип текстовый.(255) Более  подробно об этом рассказано в третье главе.

Поле «Автор» - тип текстовый.(255) Включает в себя указание фамилии, имени, отчества автора книги.

Поле «Название» - тип текстовый (255). Включает в себя название книги.

Поле «Год_издания» - тип текстовый (4). Указывается год издания книги.

Поле «Издательство» - тип числовой. Выбирается из списка.

Поле «Жанр» - тип числовой. Выбирается из списка.

Поле «Состояние» - тип числовой. Выбирается одно из трех предложенных состояний. Поле является обязательным.

 

Таблица «READS»

 

 

Поле «ID_читателя» - тип счетчик. Ключевое поле. Указывается порядковый номер посетителя читального зала.

Поле «Фамилия» - тип текстовый (255). Указывается фамилия посетителя.

Поле «Имя» - тип текстовый (255). Указывается  имя посетителя.

Поле «Отчество» - тип текстовый (255). Указывается отчество посетителя.

Поле «Дата_рождения» - тип дата/ время. Указывается дата рождения посетителя. Средний формат. Маска «00.00.0000;0;»

Поле «Адрес» - тип текстовый.(255) Указывается адрес регистрации либо прописки посетителя.

Поле «Телефон» - тип текстовый (13) Указывается контактный телефон  читателя. Маска ввода «000\-000\-00\-00»

Поле «Дата_регистрации» - тип дата/время. Указывается дата регистрации. Формат ввода – средний. Маска ввода - 00.00.0000;0;_. По умолчанию ставится системная дата.

 

Таблица « ORDERS»

 

 

Поле «ID_заказа» - тип счетчик. Ключевое поле.  Автоматически присваивается номер заказу.

Поле «Код_книги» - тип числовой. Указывается уникальный номер книги, на которую оформляется заказ. Выбирается из выпадающего списка.

Поле «Код_читателя» - тип числовой. Указывается уникальный номер читателя, которому оформляется заказ. Выбирается из выпадающего списка.

Поле «Дата_заказа» - тип дата/время. Указывается дата оформления заказа. По умолчанию ставится системная дата.

Поле «Выдана» - тип логический. Ставится «флажок» если книга на руках.

Таблица «GANR»

Поле «ID_жанра» - тип счетчик. Ключевое поле. Автоматически присваивается номер жанру.

Поле «Жанр» - тип текстовый.(255) Указывается жанр книги.

Таблица «IZDAT»

Поле «ID_издательства» - тип счетчик. Ключевое поле. Автоматически присваивается уникальный номер издательству.

Поле «Издательство» - тип  текстовый (255). Указывается издательства, где печатаются книги из хранилища читального зала.

Таблица «Состояние_книги»

Поле «ID_состояния» - тип счетчик. Ключевое поле.

Поле «Состояние» - тип  текстовый. (255) Указывается состояние книги. Возможны три варианта. « На руках», «в архиве», «заказана». Сотрудник выбирает одно из возможных.

2.3. Схема  данных «Читальный зал»

Схема базы данных «Читальный зал»

 

Третья глава «Особенности реализации».

3.1. Описание  предметной области «Читальный  зал»

Предметная область –  читальный зал.

Основные сущности – посетители, книги, заказы.

Основные предметно-значимые атрибуты сущностей:

    • книги – индивидуальный номер в хранилище, ББК, автор, название, издательство, жанр,
    • посетители- индивидуальный читательский билет, фамилия, имя, отчество, адрес, дата регистрации,
    • заказ – индивидуальный номер, номер книги, номер читательского билета, дата заказа, состояние заказа.

Под аббревиатурой ББК  мы понимаем библиотечно-библиографическую классификацию. Это классификация печатных изданий, основана на системе таблиц идентификаторов. Основная таблица классификации определяет области знаний, к которым можно отнести те или иные издания и построена по иерархическому принципу, основные разделы включают в себя общее и междисциплинарное знание, естественные, прикладные, общественные и гуманитарные науки, а также литература универсального содержания. Дополнительные таблицы определяют территориальные и другие специальные типовые деления.

Рабочие таблицы ББК предназначены  для организации библиотечных фондов, систематических каталогов и  картотек. Приказ об образовании редколлегии  для издания таблиц был издан  Министерством культуры РСФСР в 1959 году. Первый вариант таблиц был  разработан и опубликован в СССР в 1960 – 1968 гг. в тридцати томах под названием «Библиотечно-библиографическая классификация. Таблицы для научных библиотек». В их разработке участвовало 800 учёных. Впоследствии появились также специальные издания таблиц для массовых библиотек, областных библиотек, детских и школьных библиотек.

Разработкой и уточнением ББК руководит Научно-исследовательский  центр ББК Российской государственной  библиотеки.

Полные таблицы ББК  не будут издаваться на бумаге из-за коммерческих ограничений: бумажное издание  такого справочника слишком дорого. Средние таблицы ББК (от 4 до 8 томов) и сокращённые рабочие таблицы  ББК (один том) нерегулярно переиздаются с исправлениями.

Тотальное внедрение ББК  во всех библиотеках серьёзно ограничивается тем, что получить эти таблицы  можно только в печатном бумажном виде. Бесплатного электронного справочника ББК не существует.

 

Четвертая глава «Пользовательский интерфейс»

4.1. Форма  базы данных «Читальный зал»

 

Для запуска базы данных «Читальный зал» необходимо щелкнуть два раза мышкой по файлу «Читальный зал»

После загрузки MS Access автоматически откроется Главная форма базы данных «Читальный зал»

 

На форме представлены поименованные кнопки: «Книги», «Читатели», «Отчеты», «Заказ», «Выход». Названия кнопок, помогают сориентироваться в действиях не имея специальной компьютерной подготовки. Администратор должен четко понимать организацию работы читального зала.

Нажимая на кнопки, получаем необходимые разделы.

Ниже представлены формы  основных разделов базы данных «Читальный зал»

 

Форма «Книги»

Данные для этой формы  берутся из таблицы «BOOKS». Пользователь может вносить  новые книги  в архив читального зала, организовывать поиск  необходимых книг по различным  критериям, удалять книги  из архива библиотеки.

Для начала поиска пользователь должен нажать кнопку «Поиск». Появится диалоговое окно «Поиск и замена».  Необходимо определить поле, по которому пойдет поиск. Это может быть любое  поле формы. Далее пользователь в  поле  «Образец» окна «Поиск»  ставит необходимое значение. Нажимает кнопку «Найти далее»

  Чуть ниже полей для заполнения,  показана таблица «ORDERS».   В ней отражаются данные о заказах. Если книга заказа, то пользователь увидит данные кто и когда сделал заказ.

 

 

 

 

Форма «Читатели»

 

Данные формы «Читатели» сохраняются в таблице «READS».

С помощью данного раздела  пользователь может управлять данными  о посетителях.

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

Для удаления читателя из базы необходимо внести его индивидуальный номер и нажать кнопку «Удалить читателя».

Нажатие кнопки «Выход» приведет к выходу из программы.

 

Для поиска необходимо нажать кнопку «Поиск» - пользователь увидит диалоговое окно:

 

В поле «Образец» необходимо ввести данные для поиска, т.е. это  может быть ID-номер, фамилия, имя и т.д. 

В поле «Совпадения» выбрать  один вариант из предложенных :

  • «Поля целиком»
  • «С любой частью поля»
  • «С начала поля»

При заполнении всех полей,  активизируется кнопка «Найти далее». Нажимаем и знакомимся с результатами поиска.

 

 

Форма «Заказ»

 

 

 

Данные для формы берутся  из таблицы  «ORDERS».

Форма «Заказ» необходима для регистрации заказов на книгу. Форма имеет поля, которые пользователь должен заполнить. Поле «Код заказа» заполнится автоматически. В поле «Номер билета» ставится номер читательского билета, т.к. посетитель при заказе книги должен предъявить его.

В поле «Код книги» ставится уникальный номер книги из архива читального зала.

Форма содержит несколько  кнопок:

    • «Найти заказ» - поиск необходимого заказа по разным критериям,
    • «Создать заказ» - создание нового заказа,
    • «Удалить заказ» - удаление заказа из базы данных,
    • «Выход»- закрывает окно.

4.2 Запросы.

 

В базе данных «Читальный зал» используется несколько запросов.

 

Запрос на выборку.

 

 

Программный код:

SELECT Books.ID_книги, Books.ББК, Books.Автор, Books.Название, Orders.Выдана

FROM Books INNER JOIN Orders ON Books.ID_книги = Orders.Код_книги

WHERE (((Orders.Выдана)=True));

 

Для создания запроса используем таблицы «BOOKS»  и «ORDERS».   В итоге пользователь получает новую таблицу, содержащую данные о книгах, которые выданы.

 

Запрос на создание таблицы

 

 

 

 

Программный код:

 

SELECT Books.ID_книги, Books.Автор, Books.Название, Orders.ID_заказ, Orders.Код_книги INTO новая

FROM Books INNER JOIN Orders ON Books.ID_книги = Orders.Код_книги;

 

Для создания запроса используются таблицы «BOOKS», «ORDERS» . В итоге пользователь получает новую таблицу, в которой указаны уникальный номер книги, автор книги, название, и данные о заказе.

 

Запрос на добавление

 

 

 

Программный код:

SELECT Books.ID_книги, Books.Автор, Books.Название, Reads.Фамилия, Reads.Имя, Reads.Отчество, Orders.Дата_заказа INTO н

FROM Reads INNER JOIN (Books INNER JOIN Orders ON Books.ID_книги = Orders.Код_книги) ON Reads.ID_читателя = Orders.Код_читателя;

 

Для создания запроса на добавление записей используем таблицы: «BOOKS», «READS» ,«ORDERS»

В итоге получаем новую  таблицу, которая содержит данные о  книге, пользователи и заказе.

Все запросы необходимы для  создания отчетов по деятельности читального зала.

 

Запрос на повторяющиеся  записи.

 

 

Программный код:

SELECT First(Запрос1.[Код_книги]) AS [Код_книги поле], First(Запрос1.[Автор]) AS [Автор поле], First(Запрос1.[Название]) AS [Название поле], First(Запрос1.[Жанр]) AS [Жанр поле], Count(Запрос1.[Код_книги]) AS Повторы

FROM Запрос1

GROUP BY Запрос1.[Код_книги], Запрос1.[Автор], Запрос1.[Название], Запрос1.[Жанр]

HAVING (((Count(Запрос1.[Код_книги]))>1) AND ((Count(Запрос1.[Жанр]))>1));

 

Для создания запроса на повторение создается вспомогательная  таблица «Запрос 1». В ней содержатся данные о книгах и заказах на книги. Из этой таблицы мы выбираем наиболее популярные книги.

 

Запрос «Какая литература  находится на руках»

 

 

 

Программный код:

 

SELECT Reads.Фамилия, Reads.Имя, Reads.Отчество, Books.Автор, Books.Название, Orders.Выдана

FROM Reads INNER JOIN (Books INNER JOIN Orders ON Books.ID_книги = Orders.Код_книги) ON Reads.ID_читателя = Orders.Код_читателя

WHERE (((Orders.Выдана)=True) AND ((Books.Состояние)=2));

 

Данные для запроса  «Какие книги на руках» используются из трех таблиц : «BOOKS», «READS», «ORDERS».

Выполняя этот запрос, мы получаем данные о том какие книги находятся на руках и у кого. На основе этого запроса составляется отчет.

 

4.3. Отчеты.

 

Изучая предметную область  «Читальный зал», я выяснила что администраторы еженедельно составляют отчеты. Ниже представлены форматы необходимых отчетов.  Готовые варианты отчетов представлены в Приложении 2.

 

Отчет «Издательства»

- перечень издательств,  представленных в архиве читального  зала.

 

Для отчета «Издательства» берутся данные таблицы «IZDAT» без изменений. В верхнем правом углу указываются текущие даты и время.

 

 

Отчет «Читатели»

- перечень посетителей читального зала.

 

 

В отчете представлены данные зарегистрированных посетителей читального зала. Сведения берутся из таблицы  «READS» без изменений.

 

Отчет по выборке

 

 «Отчет на выборку» - в отчете представлены книги,  которые выданы.

 

В данном отчете отражены данные о книгах, которые выданы по заказам. Он построен на основании запроса  на выборку.

 

Отчет «Популярные книги»

 

«Отчет популярные книги» - в отчете указаны наиболее популярные книги. Данные берутся из таблицы  запроса «Популярные книги»

 

 

В отчете «Популярные книги» указаны наиболее популярные книги. Данные берутся из запроса «Популярные книги».

4.4. Маркосы.

 

В базе данных «Читальный зал» использованы макросы.

 

Макрос «Выход из программы»

 

Активизируется, когда пользователь нажимает на кнопку «Выход» на главной  форме базы данных «Читальный зал». После выполнения макроса закрывается  база данных.

 

Макрос «Закрыть окно»

На каждой форме базы данных «Читальный зал» имеется кнопка «Выход» . Когда пользователь на нее нажимает, срабатывает макрос «Закрыть окно» . Итог выполнения макрос – закрывается окно формы.

База данных "Читальный зал"