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

Принцип действия таков, что при помощи модуля класса происходит перехват двойного клика мышков по полю. Далее проверяется условие, если поле имеет краткий формат даты «dd/mm/yy», в нем разрешено производить изменения, то вызывается процедура OpenCalendar. Процедура перехватывает значение поля, если оно было введено и отображает дату поля в календаре. Если поле было пустой, то выводиться текущая дата. Для выбора даты необходимо произвести двойной клик по нужно дате в календаре. Значение из календаря перенесется в поле, в по которому был произведен двойной клик до вызова календаря.

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

Разработка данного календаря дала большое преимущества при работе с датами.

Исходные коды всех форм описаны в Приложение В - Формы.

    1. Отчеты

Отчеты используемые в программе по учету рабочего времени уже приводились в пункатах описания работы программы. Всего в системе используется 11 отчетов (Рис. 3.4.1.1.1).

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

Отчеты похожи на формы, только не дают в них делать никаких изменений. В большинсвте своем они предназначаются для печати получелнной информации на принтере. По этой причине форматирование отчетов проводится в зависимости от установленных в системе принтеров: обычные принтеры А4, либо принтеры для печати на этикетках.

    1. Модули

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

          1. – Список модулей в системе

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

      1. Краткое описание используемых модулей

Attach_table: Содержит функцию TablesAttach, которая при запуске программы производит проверку всех подключенных к системе таблиц, производит подключение таблиц по данным, которые содержаться в таблице «Система таблиц», если во время работы изменить положение таблицы, то эта функция сообщит об этом, выдав ошибку. Используется данная функция только для подключенных таблиц.

basCrypto и basFilter: модули необходимые для получения MD5 хешей для пароля.

Baza: Содержит фукции проверки пользователей на права доступа к различным пунктам программы.

InputBoxPasswords: Модифицированный InputBox для ввода паролей. При вводе информации данне отображаются в виде звездочек.

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

rCtrl: Модуль класса расширяющий возможность работы предыдущего модуля класса. Позволяет перехватывать события в контролах форма, таких как ListBox и ComboBox.

Spravka: Позволяет выводить справку при вызове ее из контекстного меню.

SYS: поиск элеметнов управления в формах и отчетах: элемент разработки программ, предназначен для быстрого поиска полей, таблиц, запросов в нашем проекте.

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

ZeroToNull: самописная функция обратная встроенной в VBA функции Nz. Преобразует нулевые значение в Null.

Выполнение запросов в транзакции: Содержит функцию ExecuteTrans, и используется для пакетного выполнения SQL запросов в базы данных. В зависимости от параметров может выполнять запросы как в транзациях так и без них. Если запросы должны выполниться в транзакции, то при выполнении этих запросов, если хоть один из них вызовет ошибку при выполнении, все изменения будут отменены.

Глобальные переменные и константы: Содержит объявление переменных и констант для проекта

Заполнение элементов ActiveX: Модуль для автоматической генерации списков ListView из запросов.

Изменение размеров форм: Используется для подчиненных форм, если происходит изменение размера родительской формы, этот модуль растягивает подчиненные формы вместе в основной.

Календарь: Содержит настройки для вызова формы календаря, которая позволяет вводить даты в поля.

Настройки программ: Модуль для создания временных таблиц с настройками форм при их запуске.

Обработка ошибки: Модуль для получения кодов ошибок из форм.

Печать этикеток: Модуль производит выбор принтера при печати на разных форматах этикеток, проверяет доступность принтера.

Получение № компьютера: Проверяет номер компьютера при запуске программы, если номер компьютера отсутствует в системе, либо уже испольлзуется, то запрещает запуск программы.

Получение размеров окна: Фукнции работы с размерами форм, перевод твипо в пиксели или обратно.

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

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

Работа с объектами проекта: Содержит основные функции для открытия форм, отчетов при которых будут происходить необходимые проверки.

Работа со сканером: Функции для реакции сканера на определение штрих кода и передача данных в систему

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

Создание нового модуля: Тоже можно отнести к служебным модулям. Необходим для быстрого сжатия и перепаковки проекта в новый файл. Необходиомсть эта вызвана тем, что Access при вносимых в него изменениях постоянно раздувает файлы mdb, и они постоянно увеличиваются в размере и начинают медленнее работать. Раньше приходилось пересоздавать проект вручную заного, проводя импорт в него данных из разпухшего файла. Теперь этот процесс автоматизирован в 1 клик мышкой.

Сохранение записи: Сохраняет изменения из форм в связанные таблицы.

Сравнение значений: Сравнивает 2 значения проверяя, что они одинаковые, даже если они null.

Строковый функции: Содержит вспомогательные функции для работы с запросами SQL. Взятие строк в ковычки, перевод даты в формат SQL, сокращение ФИО и т.д.

Типовые процедуры форм и элементов: процедуры для изменения в формах, отмены изменений, сохраниния записи, сравнение изменения.

Уволенные сотрудники: Процедура для удаления прав для уволенных пользователей (удаляет их из списка)

Цветовой набор: Расширенный набор цветов для использования в формах.