Yandex.Метрика

Учет автотранспорта на VBA

Учет автотранспорта: проект на VBA.

В данной статье будет продемонстрирован и доступен для скачивания простейший проект «Учет автотранспорта» выполненный в Excel с помощью VBA.

Назначение и схема данных

Основное предназначение проекта — хранение информации о сотрудниках предприятия и о выданных им служебных автомобилях. Также, «Учет автотранспорта» можно приспособить для автопарка или таксопарка (все имеющиеся автобусы и «привязанные» к ним водители).

Данный проект реализован в Excel, но все листы в нем скрыты (свойство VeryHidden) и предназначены исключительно для хранения информации, а работа с ними осуществляется только через формы VBA. При такой реализации есть один значимый минус: во время работы с формами VBA, невозможна работа с другими файлами Excel.  Но если у вас другие файлы не открыты и открывать вы их не планируете, то работать с данной программой будет максимально удобно и комфортно.

Перед тем, как начать делать проект, я, для удобства, создал простую «схему данных» в Microsoft Access: именно таким же образом будут выглядеть наши таблицы в Excel.

Учет автотранспорта: схема данных

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

Особенности проекта «Учет автотранспорта»

В проекте имеются следующие особенности:

  • В информации о водителе хранятся следующие данные: ФИО, дата рождения, должность, контактный номер, данные паспорта и водительского удостоверения и фотография.
  • В информации о ТС хранятся следующие данные: модель авто, тип кузова, год выпуска, цвет, государственный регистрационный номер, пробег, а также дополнительную информацию о ДТП, повреждениях и проведенных ремонтах (хранится в отдельной таблице).
  • Имеется возможность быстрого изменения уже внесенных данных по двойному клику водителя или ТС.
  • Хоть «Учет автотранспорта» реализован в Excel — все управление данными ведется на формах VBA (листы скрыты и используются как База Данных).
  • Данные некоторых таблиц связаны друг с другом с помощью ключа (как в Access).
  • Нельзя удалить водителя, если ему выдано какое-либо ТС (необходимо удалить выдачу).
  • Нельзя удалить ТС, если у него есть какой-либо владелец (необходимо удалить выдачу).

Потенциал (изменения, которые можно добавить, для улучшения возможностей проекта «Учет автотранспорта»):

  • В информацию о ТС можно добавить список тех.осмотров с датами, список штрафов или дополнительную информацию о технических характеристиках авто.
  • Добавить ограничение в количестве выданных авто: сейчас на одного сотрудника можно выдать неограниченное количество авто (можно ограничить до 1).
  • Добавить историю выдачи автомобиля: при удалении имеющейся выдачи, она сохраняется в отдельную таблицу, для истории.
  • Добавить окно фильтрации: при вводе фамилии сотрудника в это окно, в списке подсвечивается автомобиль или несколько автомобилей, которые выданы данному сотруднику (можно добавить для гос.номера).
  • И так далее, придумать можно очень много интересных функций.
Учет автотранспорта: форма учета выдачи ТС

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

Учет автотранспорта: основная формаНажимая на кнопку «Выдать ТС» открывается новая форма: выбираем сотрудника и автомобиль с соответствующим государственным номером. Выбрать можно только из тех сотрудников/автомобилей, которые уже содержатся в нашей Базе Данных. Дата выдачи подставляется автоматически (день формирования выдачи), но при необходимости ее можно изменить:

Учет автотранспорта: выдачаКнопки «Открыть список сотрудников» и «Открыть список автомобилей» открывают соответствующие формы, которые будут рассмотрены далее. А кнопка «Удалить учтенную выдачу ТС» удаляет данные о выдаче ТС (и как я уже говорил, можно добавить функцию сохранения данных в истории на отдельном листе БД).

Учет автотранспорта: формы управления сотрудниками

Рабочая форма, открывающаяся при нажатии кнопки «Открыть список сотрудников». Собственно, название соответствует содержимому: сотрудники и их личные данные. Также присутствует кнопка «Новый сотрудник» и «Удалить сотрудника».

Учет автотранспорта: список всех сотрудниковПри нажатии кнопки «Удалить сотрудника» — сотрудник и его все личные данные удаляются из базы данных (при условии, что ему не выдано авто). При нажатии кнопки «Добавить сотрудника» (либо при двойном клике на уже имеющемся), открывается окно добавления или изменения личных данных (по сути, в проекте это одно и то же окно, которое открывается с разными заголовками и кнопками, в зависимости от параметров вызова):

Учет автотранспорта: добавление сотрудника

Если в полноценном списке сотрудников, в ФИО отображаются фамилия и инициалы, то в форме добавления/изменения личных данных они предоставлены в полном виде. Плюс, помимо всего прочего, здесь отображается фотография сотрудника. В базе данных фотография хранится в виде ссылки на файл на вашем компьютере: при копировании проекта на другой компьютер, фотография отображаться не будет. Но при желании, можно сделать так, чтобы фотографии прогружались в файл Excel и открывались на любом компьютере, но это уже совсем другая история.

Учет автотранспорта: формы управления автомобилями

Рабочая форма, открывающаяся при нажатии кнопки «Открыть список сотрудников»:

Учет автотранспорта: список всех ТС

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

Учет автотранспорта: новое автоЕстественно, это здесь перечислены самые простые характеристики авто, самые первые, которые пришли мне в голову при реализации проекта. При желании можно добавить какие-либо другие: тип коробки передач, тип привода, количество пассажирских мест, грузоподъемность и так далее.

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

Учет автотранспорта: скачать проект

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

Учет автотранспорта: скачать

(!)В первоначальной версии, основная форма открывалась автоматически при открытии файла, но в связи с непредвиденной ошибкой, было решено заменить «автоматический вызов формы» на «вызов по нажатию кнопки».

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

Оставить комментарий