'
Пономарёва Е.А.
АВТОМАТИЗАЦИЯ РАБОТЫ С БАЗАМИ ДАННЫХ ПРИ РЕШЕНИИ ИНЖЕНЕРНЫХ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММЫ MICROSOFT ACCESS *
Аннотация:
в работе построена автоматизированная модель, позволяющая упростить работу по выпуску кабельных журналов на низковольтные комплектные устройства. При помощи языка программирования Visual Basic for Applications (VBA) были написаны автоматизированные модули, что позволило расшить возможности программного пакета Microsoft Access.
Ключевые слова:
кабельный журнал, низковольтное комплектное устройство, макросы
Иногда стандартных команд на языке макрокоманд не хватает, тогда необходимо использовать возможность написания собственных макросов на языке Visual Basic for Applications (VBA). Этот язык позволяет автоматизировать практически любую операцию, доступную в приложении и базах данных Access, основанную на фундаментальных понятиях: объект, свойства, события и методы (Object, Property, Event and Methods). Например, автоматизация ввода данных, компоновка данных, работа с данными без открытия форм, автоматизация других приложений из Access.Была реализована программа по автоматизации задания завода-изготовителя низковольтного комплектного устройства 0.4 кВ.Автоматизация выпуска задания завода изготовителя на низковольтные комплектные устройства представляет собой важный шаг в оптимизации процессов управления и учета кабельной продукции. С учетом роста объемов проектирования и строительства атомных станций, а также необходимости обеспечить высокую степень точности и оперативности в работе с кабелями.Алгоритм работы программы:1. Импортирование внутреннего технического задания (далее ВТЗ) из формата xlsx в программу Microsoft Access.2. Происходит преобразование исходных данных.3. Происходит добавление новых столбцов.4. Столбцы из исходных данных и добавленные в пункте 3 выстраиваются в правильном порядке.5. По типу привода полученного в ВТЗ, происходит автоматическое заполнение номинального и пускового тока.6. По номинальному току происходит выбор контакторов и автоматов.7. Преобразуем значение номинального тока в ближайшее большие для контакторов и автоматов.9. По номинальному току выбираем тепловые и магнитные уставки.10. Заполняем тип блока и размер блока по приводу из ВТЗ.11. Проставляем тип автоматов.12. Выгружаем полученную базу данных.Разработка модулей на языке программирования Visual Basic for Applications (VBA).Описание работы модуля «Преобразование исходный данных».Данная программа предназначена для обработки данных в таблице базы данных Microsoft Access.Программа выполняет следующие задачи:1. Открытие базы данных и выбор таблицы:Программа устанавливает соединение с текущей базой данных и открывает таблицу с именем "Исходные данные ВТЗ" для работы с ее записями.2. Цикл обработки записей:Программа использует цикл, который проходит по всем записям таблицы до тех пор, пока не достигнет конца.3. Обработка каждого столбца:Каждый из столбцов, таких как "E / TAG X", "N / TAG Y", "Z / TAG Z", "Load_RatedPower / Мощность привода", "t / Время срабатывания", и "U / Ном напряжение", проходит этап замены точки на запятую для стандартизации данных.Затем происходит проверка на пустые значения или значение "-", и, если такие значения обнаруживаются, они заменяются на пустую строку.4. Обновление записей:После обработки всех нужных столбцов программа редактирует текущую запись в таблице, обновляя значения обработанных полей. Это позволяет сохранить изменения непосредственно в базе данных.5. Закрытие записи и освобождение ресурсов:По завершении обработки всех записей программа закрывает набор записей и очищает выделенные ресурсы, что помогает избежать утечек памяти.Таким образом, программа автоматизирует процесс очистки и стандартизации данных в таблице, делая их более пригодными для дальнейшего анализа и обработки.Описание работы модуля «Добавление столбцов».Программа, предназначена для добавления новых столбцов в таблицу "Итог" базы данных Microsoft Access.Поэтапное описание ее работы:1. Открытие базы данных:Программа начинает с инициализации объекта базы данных и получения ссылки на таблицу "Итог".2. Определение списка полей для добавления:Создается массив, содержащий названия новых столбцов, которые необходимо добавить в таблицу. Каждый элемент массива представляет имя нового поля.3. Обработка ошибок:Используется конструкция, чтобы игнорировать ошибки, которые могут возникнуть (например, если поле уже существует).4. Цикл по полям:Программа проходит через все имена полей из массива в цикле:- Для каждого поля проверяется наличие его в таблице. Это достигается с помощью вложенного цикла, который перебирает все существующие поля в таблице.- Если поле уже существует, программа переходит к следующему полю.5. Добавление новых полей:- Если поле не существует, программа выводит в окне отладки сообщение о том, что поле добавляется, и добавляет его в таблицу.- Если поле уже существует, выводится сообщение о том, что поле уже есть в таблице.6. Закрытие и освобождение ресурсов:В конце выполнения программы освобождаются ссылки на объекты таблицы и базы данных.7. Сообщение об окончании:Когда все поля обработаны, выводится сообщение пользователю о том, что столбцы были добавлены.Таким образом, программа автоматизирует процесс добавления новых столбцов в таблицу "Итог", проверяя предварительно их наличие, что позволяет избежать дублирования.Описание работы модуля «Правильный порядок строк».Программа, написанная на языке VBA, предназначена для установки определенного порядка столбцов в таблице "Итог" базы данных Microsoft Access. Вот детальное описание работы программы:1. Инициализация объектов базы данных:В начале программы создается объект базы данных и ссылка на таблицу "Итог".2. Определение порядка столбцов:Описывается порядок столбцов, который необходимо установить, с помощью массива.3. Сохранение текущих названий полей:Используется коллекция для хранения имен текущих полей таблицы. Цикл проходит по всем полям таблицы и добавляет их имена в коллекцию.4. Проверка существования полей:В цикле программа обрабатывает каждое имя поля из массива.Для каждого поля вызывается функция, которая проверяет, существует ли поле в таблице. Если поле не найдено, пользователю выводится сообщение, и программа завершает выполнение.5. Установка нового порядка столбцов:Программа создает новую коллекцию, где добавляются имена полей, прошедших проверку. Затем во вложенном цикле устанавливается новый порядок столбцов:- Программа перебирает все поля в таблице и сравнивает их с новыми именами из коллекции.- Если имена совпадают, используется свойство, чтобы переместить поле в нужную позицию в таблице.6. Обновление структуры базы данных:После установки нового порядка столбцов происходит обновление таблицы.7. Освобождение ресурсов:В конце выполнения программы освобождаются ссылки на использованные объекты и коллекции.8. Сообщение об окончании действия:После успешного завершения программы выводится сообщение о том, что порядок столбцов установлен.4. Описание работы модуля «Заполнение основных данных».4.1 Блок «Заполнение автоматов и сопутствующих величин».Этот фрагмент кода на VBA предназначен для заполнения информации о автоматах и сопутствующих её величинах в базе данных.Он выполняет следующие действия:1. Цикл по записям:Код проходит по всем записям в результате выборки, используя цикл. Цикл продолжается до тех пор, пока не достигнут конец результата.2. Проверка значения:Для каждого поля "1,1xIном" проверяется, содержит ли оно значение (не является ли оно пустым). Если значение присутствует, выполняется проверка на его диапазон.3. Выбор автоматов для различных диапазонов "1,1xIном"Рисунок 1. Таблица, содержащая диапазоны нормального тока,автоматов и шага регулирования установок.Все необходимые значения, прописаны на языке программирования.4. Финальная запись изменений: Для каждой записи в базе данных выполняется команда, чтобы сохранить внесенные изменения.5. Перемещение по записям: После каждого обновления текущей записи программа переходит к следующей записи в наборе данных и продолжает цикл до тех пор, пока не будут обработаны все записи.Таким образом, данный код организует заполнение информации о моделях автоматов и их характеристиках на основе значений одного из полей.4.2 Блок «Заполнение большего значения из диапазона номинального тока*1,1 для контакторов».Данный блок кода предназначен для обновления значения поля "Contactor_CurrentRating" в записи базы данных, основываясь на значении из поля "1,1xIном". Вот основные моменты работы этого кода:1. Получение значения:На каждой итерации цикла извлекается значение, хранящееся в поле "1,1xIном" текущей записи и присваивается переменной `значение`.2. Проверка на наличие значения:Перед тем как работать с `значение`, код проверяет, не является ли оно пустым.3. Условные проверки и обновление:В зависимости от значения переменной `значение` выполняются несколько условий:- Если `значение` находится в диапазоне от 0 до 9, устанавливается "Contactor_CurrentRating" равным 9.- Если `значение` больше 9 и до 12, устанавливается 12, и так далее, вплоть до диапазона больше 80 и до 95, где значение будет установлено на 95.Для каждого диапазона, в случае выполнения условия, текущая запись открывается для редактирования, устанавливается значение поля "Contactor_CurrentRating".4. Перемещение к следующей записи:После проверки и, потенциально, обновления текущей записи цикл переходит к следующей записи в наборе.В общем, данный блок кода отвечает за установление соответствующих значений тока для контакторов в зависимости от значений, полученных из другого поля.4.3 Блок «Заполнение размера блока».Данный блок кода предназначен для извлечения и обновления информации о размере блока в базе данных.Основные моменты, описывающие его работу:1. Цикл обработки записей:Код запускает цикл, который будет выполняться до тех пор, пока не достигнут конец набора записей.2. Проверка значения:Внутри цикла проверяется, не является ли значение поля "Cell_model / Тип блока" пустым.3. Получение типа блока:Если значение не пустое, оно присваивается переменной.4. Поиск символа "P":Далее, код проверяет, содержится ли буква "P" в строке с помощью функции. Если "P" найдена (то есть её позиция больше 0), начинается извлечение нужной информации.5. Определение позиции начала и конца:Код устанавливает указатель в позицию, следующую за "P.6. Цикл для извлечения номера места:Запускается вложенный цикл, который работает до тех пор, пока указатель не достигнет конца строки и символ по этой позиции соответствует числу или слэшу (0-9 или /). В этом цикле позиция указателя увеличивается, чтобы захватить все цифровые символы.7. Извлечение номера:После завершения вложенного цикла вызывается модуль, который извлекает подстроку, начиная со стартовой позиции курсора и до финальной позиции курсора, и результат присваивается переменной.8. Обновление записи:Далее, текущая запись открывается для редактирования с помощью, и поле "Block_size / Размер блока" обновляется значением.9. Перемещение к следующей записи:В конце цикла текущая позиция в наборе записей сдвигается к следующей записи с помощью.В целом, данный код извлекает и обновляет размер блока для записей в базе данных, если тип блока соответствует определенным критериям, в частности наличию символа "P".4.4 Блок «Заполнение типа Type_of_releaser».Данный блок кода выполняет обход записей в таблице, обновляя некоторые значения на основе определенных условий. Вот основные шаги его работы:1. Проверка наличия записей:Осуществляется проверка, что набор записей не пустой. Если в нем есть записи, курсор перемещается на первую запись.2. Цикл обработки записей:Основной цикл будет выполняться до тех пор, пока не достигнут конец набора записей.3. Чтение значения из поля:Внутри цикла происходит считывание значения из столбца "CB_Model / Автомат". Перед этим выполняется проверка на пустое значение.4. Проверка условия:Если значение из столбца не пустое, проверяется, начинается ли оно с "GV2".5. Обновление поля:Если условие выполняется (то есть значение действительно начинается с "GV2"), осуществляется редактирование текущей записи через. Далее в столбце "Type_of_releaser / -" устанавливается значение "Комбинированный".6. Переход к следующей записи:После обработки текущей записи происходит переход к следующей записи с помощью.Таким образом, данный код осуществляет обход всех записей в таблице и обновляет поле "Type_of_releaser / -" на "Комбинированный" для тех записей, у которых значение в столбце "CB_Model / Автомат" начинается с "GV2".Внедрения предложенных решений по работе с базой данных позволяет оптимизировать работу пользователя, в определённой мере сократив время и лишний объём работ. Так же уменьшает количество ошибок, благодаря написанному макросу на VBA.
Номер журнала Вестник науки №6 (87) том 3
Ссылка для цитирования:
Пономарёва Е.А. АВТОМАТИЗАЦИЯ РАБОТЫ С БАЗАМИ ДАННЫХ ПРИ РЕШЕНИИ ИНЖЕНЕРНЫХ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ ПРОГРАММЫ MICROSOFT ACCESS // Вестник науки №6 (87) том 3. С. 1978 - 1988. 2025 г. ISSN 2712-8849 // Электронный ресурс: https://www.вестник-науки.рф/article/24453 (дата обращения: 14.01.2026 г.)
Вестник науки © 2025. 16+