Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ДР_М (2).docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
8.59 Mб
Скачать
          1. – Отчет по обедам. Вывод в электронные таблицы.

  1. Объекты субд

    1. Таблицы

Для разработанной СУБД были использованы 51 таблица. Для всех запросов и записи новых данных, таблицы были связаны с нашим проектом. Для выполнения промежуточных запросов, используются локальные таблицы. Все таблицы из проекта представлены на Рис. 3.1.1.1.1:

          1. – Список таблиц в системе

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

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

Для уменьшения количества локальных таблиц было принято решение создавать простые таблицы при открытии формы, в которых они будут использоваться. Для этого из модуля (Приложение Г -9 Настройки программ) открытия форм перед открытием вызываемой формы, вызывается процедура CreateTimeTable, которая проверяет наличие необходимой таблици, и если она отсутствует в программе, создает ее. Данные по всем таблицам берутся из таблицы «настройки_прогамм»

Более подробно со всеми таблицами и их структорой можно ознакомиться в Приложение А -Таблицы.

    1. Запросы

Для упрощения работы с таблицами и данными в разработанной СУБД были созданы следущие запросы (Рис. 3.2.1.1.1):

          1. – Список запросов в системе

Запросы q_ используются для объединения данных из разных таблиц и используются как таблицы при формировании данных. Приставка qout_ используется при выгрузки запроса в эксель файл, при помощи встроенных средств MS Access. Приставка qsys_ для системных утилит внутренней разработки программы. qt_ используется как источник записи в форме, либо списках.

Для ознакомления с используемыми запросами смотрите Приложение Б -Запросы

    1. Формы

Для разработанной СУБД были созданы следущие формы (Рис. 3.3.1.1.1):

          1. – Список форм в системе

Формы являются основным рабочим инструментом с таблицами из баз данных.

Названия форм содержат дополнительное буквенное обозначение внутри проекта. Для главных форм, принято в конце приписывать «_F» (form), а для всех форм, которые будут являться подчиненными «_SF» (от sub form).

Имеются несколько сервисных форм, которые не вызываются явно в меню пользователей. К таким формам относится форма «Язык_F», она постоянно находится в запущенном состоянии при работе программы отображая для ползователей, какая раскладка клавиатуры используется в данный момент (Рис. 3.3.1.1.2 и Рис. 3.3.1.1.3). В дополнение к этому форма обновляется по таймеру раз в минуту и отображает текущее время для пользователя.

          1. – Используется русский язык

          1. – Используется анлгийския язык

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

Для автоматизации работы данной формы в каждой форме приходится перехватывать нажатие клавиш и вызывать процедуру SetLanguage из модуляError: Reference source not found.

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

Dim cls As rControlForm,

в котором в свою очередь вызывается массив классов rCtrl. Обращение к классу происходит в момент запуска формы и прописан в событии открытия формы Form_Open

Private Sub Form_Open(Cancel As Integer)

Set cls = New rControlForm

cls.GetForm Me

End Sub

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

Вложенный класс позволяет перехватывать события всех контролов, которые находятся на формах.

Для этого была создана форма «Календарь_F», она представлена на Рис. 3.3.1.1.4 и ранее уже показывалась на Рис. 2.1.2.1.2 – Вызов календаря двойным щелчком мыши для выбора даты