Макросы в access 2020 примеры - IT Новости из мира ПК
Remkomplekty.ru

IT Новости из мира ПК
292 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Макросы в access 2020 примеры

Макросы в Access: что это такое и как создать и запустить макрос

Microsoft Access довольно популярная программа для создания баз данных, её используют из-за её простоты, работу с ней проходят в школах на уроке информатики. Для изучения этой программы не нужно каких либо знаний программирования. Сегодня мы разбираемся что такое Макросы в Microsoft Access, как можно создать и запускать макрос, а также рассмотрим рекомендации для новичков.

Понятие макроса

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

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

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

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

Макрокоманды

Для добавления макросов Access в меню «Создание» выбираем пункт «Макрос». Система открывает окно нового макроса со списком доступных для добавления команд справа. Кроме списка макрокоманд, здесь вы найдете макросы, уже доступные в этой БД, и функции управления создания процедуры для выполнения.

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

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

Конструктор макросов

Действия по разработке макросов Access выполняют в конструкторе. Команда выбирается из списка и добавляется в окно макроса. Здесь операция раскрывается и запрашивает ввод параметров.

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

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

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

Макросы событий

Макросы на форму Access добавляют сразу на элемент управления. При создании элемента автоматически открывается мастер, определяющий действия, которые выполняет макрос в ответ на событие со стороны этого элемента. Яркий пример – действия при нажатии на кнопку формы.

В мастере выбираем категорию «Разное» — «Выполнить макрос» и выбираем заранее созданный объект из списка предложенных. Таким образом, программа привязывается к элементу формы и реагирует на событие со стороны этого элемента.

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

Процедура запускается в ответ на изменение фокуса, обновление формы, нажатие клавиш и кнопок, движение указателя мыши и т. д. Список событий зависит от элемента управления.

Макросы данных

В версии Access 2010 и выше стали доступны макросы данных. Они вызываются изменениями, происходящими в элементах какого-либо объекта, или независимы и вызываются по наименованию. Благодаря этому типу макросов Access приобретает возможности «продвинутых» СУБД (система управления базами данных).

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

Эти программные единицы добавляются в режиме таблицы. На вкладке «Работа с таблицами» — «Таблица» выбирается, когда будет срабатывать макрос: до или после изменения/удаления, после вставки. Здесь же можно добавить именованный макрос, вызываемый по наименованию. Список макрокоманд здесь содержит операции, которые выполняются с данными – ошибками в значениях, полями, записями таблиц.

Условия

Часто необходимо, чтобы макрос работал не каждый раз, а только в том случае, когда соблюдается какое-либо условие. Для задания этого условия в макрос Access добавляется макрокоманда «Если» из каталога. Здесь прописывается условие, при котором будет выполняться следующая операция. При необходимости добавляется также команда «Иначе» или целый дополнительный блок «Иначе если».

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

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

Читать еще:  Bitapi генерация access token скачать

Пример ввода и иcпользование макроса с оператором «ЕСЛИ» в Access 2010

Технический уровень : Базовый

Краткое содержание
Практический пример ввода и использование макроса с оператором «ЕСЛИ» в Access 2010
Подробности

Рассмотрим пример. Предположим, у нас имеется система обработки заказов, отслеживающая количество товара в складе. С условием: «Если количество товара опускается ниже определённого уровня, необходимо уведомить персонал о необходимости заказа новой партии товара«.

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

Чтобы создать макрос данных, в режиме «Конструктор» создайте таблицу «Товары» с указанными ниже полями.

Сохраните таблицу, изменив её Имя на «Товары» и закройте таблицу.

Откройте созданную таблицу и введите в столбец «Товар» указанные ниже данные, оставив остальные столбцы пустыми:

Чтобы добавить макрос, откройте созданную таблицу и перейдите на вкладку «Таблицы«.

В режиме таблицы нажмите кнопку события «До изменения«:

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

Далее необходимо создать оператор «ЕСЛИ» согласно заданному нами условию, который будет срабатывать при каждом внесении изменений в таблицу. На вкладке «Товары: До изменения» щёлкните раскрывающийся список и выберите оператор «ЕСЛИ«:

Чтобы добавить в оператор «ЕСЛИ» условие, введите после оператора «ЕСЛИ» букву Т. Обратите внимание на работу технологии IntelliSense:

Выберите таблицу «Товары«. После идентификатора [Товары] введите точку и выберите поле Количество:

После поля [Количество] введите Between 50 And 100. При этом будет задано условие, при котором если количество товара окажется в диапазоне от 50 до 100, сработает ветвь оператора ЕСЛИ:

В правой части экрана в каталоге макрокоманд выводится список доступных макрокоманд и операторов управления выполнением программы для данного конкретного события:

Выберите макрокоманду «ЗадатьПоле» и перетащите её в блок оператора «ЕСЛИ«:

В поле Имя введите Товары.Состояние. В поле Значение введите «Не парься, всё под контролем. « (с кавычками):

Когда количество товара окажется в диапазоне от 50 до 100 единиц, текст в поле Состояние изменится.

Обратите внимание, что правом нижнем углу блока появились команды Добавить блок «Иначе» и Добавить блок «Иначе если«:

Щелкните команду Добавить блок «Иначе если», чтобы добавить соответствующий блок. В поле условия введите Товары.Количество Комментировать

Макросы в access

Макросы в access представляют собой как бы контейнер, в котором хранятся простейшие команды (макрокоманды), последовательно выполняющиеся. Закономерно возникает вопрос: «А зачем они тогда нужны, если все простейшие команды и так доступны с помощью команд меню и кнопок панелей инструментов?».

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

Ниже приведён пример макроса, который из формы для просмотра вызывает вспомогательную форму для изменения информации.

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

«НайтиЗапись» загружает запись с тем же кодом, что в форме для просмотра (если мы просматривали данные по Войтович, то во вспомогательной форме тоже должны быть данные по Войтович). Четвёртая команда «КЭлементуУправления» переводит курсор в поле [Фамилия], т. е в первое поле формы.

Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе?
В-третьих
, макросы в access могут запускаться только при определённых и нужных нам событиях (открытие или закрытие формы, щелчок мышкой, нажатие кнопки и др.).

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

Кнопке «Калькулятор» просто задаётся макрос с единственной макрокомандой «ЗапускПриложения», в которой указывается командная строка к приложению (например, С:Windowscalc. exe). Хотя можно просто задать гиперссылку кнопке «Калькулятор» на программу calc. exe.

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

Первая макрокоманда «ОтменитьСобытие» просто-напросто не выводит на экран пустой отчёт.

Вторая команда «Сообщение» выводит на экран диалоговое окно с поясняющим текстом. Если бы сообщение не выводилось, то рядовой пользователь не понял бы, почему отчёт не появляется на экране, решив, что произошла ошибка.

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

Читать еще:  Построитель в access

Макросы в Access: понятие, формы и создание

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

Понятие макроса

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

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

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

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

Макрокоманды

Для добавления макросов Access в меню «Создание» выбираем пункт «Макрос». Система открывает окно нового макроса со списком доступных для добавления команд справа. Кроме списка макрокоманд, здесь вы найдете макросы, уже доступные в этой БД, и функции управления создания процедуры для выполнения.

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

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

Конструктор макросов

Действия по разработке макросов Access выполняют в конструкторе. Команда выбирается из списка и добавляется в окно макроса. Здесь операция раскрывается и запрашивает ввод параметров.

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

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

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

Макросы событий

Макросы на форму Access добавляют сразу на элемент управления. При создании элемента автоматически открывается мастер, определяющий действия, которые выполняет макрос в ответ на событие со стороны этого элемента. Яркий пример – действия при нажатии на кнопку формы.

В мастере выбираем категорию «Разное» — «Выполнить макрос» и выбираем заранее созданный объект из списка предложенных. Таким образом, программа привязывается к элементу формы и реагирует на событие со стороны этого элемента.

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

Процедура запускается в ответ на изменение фокуса, обновление формы, нажатие клавиш и кнопок, движение указателя мыши и т. д. Список событий зависит от элемента управления.

Макросы данных

В версии Access 2010 и выше стали доступны макросы данных. Они вызываются изменениями, происходящими в элементах какого-либо объекта, или независимы и вызываются по наименованию. Благодаря этому типу макросов Access приобретает возможности «продвинутых» СУБД (система управления базами данных).

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

Эти программные единицы добавляются в режиме таблицы. На вкладке «Работа с таблицами» — «Таблица» выбирается, когда будет срабатывать макрос: до или после изменения/удаления, после вставки. Здесь же можно добавить именованный макрос, вызываемый по наименованию. Список макрокоманд здесь содержит операции, которые выполняются с данными – ошибками в значениях, полями, записями таблиц.

Условия

Часто необходимо, чтобы макрос работал не каждый раз, а только в том случае, когда соблюдается какое-либо условие. Для задания этого условия в макрос Access добавляется макрокоманда «Если» из каталога. Здесь прописывается условие, при котором будет выполняться следующая операция. При необходимости добавляется также команда «Иначе» или целый дополнительный блок «Иначе если».

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

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

Читать еще:  Построитель выражений в access 2020 примеры

Макросы. Экспорт и импорт данных

На этом уроке к изучению предлагается тема «Макросы. Экспорт и импорт данных». В ходе занятия вы сможете получить представление о понятии макроса, и способе его создания. Вы узнаете о том, как импортировать данные в базу и как экспортировать данные из базы.

Понятие «Макроса»

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

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

Создание и использование «Макроса»

Для того чтобы создать макрос, выберем вкладку «Создание», в группе «Другие» выберем «Макрос» (рис. 1). Появится соответствующая вкладка, в списке макрокоманд выберем нужную команду, например «Выход» (рис. 2) и закроем вкладку, сохранив изменение структуры (рис. 3). Назовем макрос так, как называется макрокоманда, то есть «Выход», и щелкнем «ОК» (рис. 4). Мы видим, что в области переходов появился новый объект – макрос «Выход». Перейдем в режим «Конструктор форм» (рис. 5) и просто перетащим макрос в любое место на форме (рис. 6). Теперь снова вернемся в режим «Формы» (рис. 7). Мы видим, что соответствующая макросу кнопка появилась, теперь мы можем закрыть форму щелчком на этой кнопке и выйти из базы данных (рис. 8).

Рис. 2. Команда «выход»

Рис. 3. Сохранение изменения структуры

Рис. 4. Имя макроса

Рис. 5. Режим конструктора

Рис. 6. Перетаскивание макроса

Рис. 7. Режим формы

Рис. 8. Выход из макроса

Создание «Макроса» фильтрации данных

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

На данной форме есть кнопка. Эта кнопка соответствует макросу, при щелчке по кнопке этот макрос запускает фильтр, и из всех записей остаются только записи о музеях, цена билетов в которых больше 100 рублей. Как создать подобный фильтр? Выберем вкладку «Создание», в группе «Другие» выберем «Макрос» (рис. 9). И на вкладке «Макрос» из списка макрокоманд выберем макрокоманду «Применить фильтр» (рис. 10). Выберем условие (рис. 11), выберем «Таблицы», в этой таблице – поле «Стоимость билетов», определим, что стоимость билетов должна быть меньше 100 рублей, и нажмем «ОК» (рис. 12). Закроем вкладку, сохраним изменение, и пусть наш макрос называется «Цена билета» (рис. 13). Макрос появился в поле переходов. Теперь перейдем в режим «Конструктор» (рис. 14) и перетащим макрос на форму; уточним, что этот макрос соответствует фильтру, позволяющему определить те музеи, в которых цена билета меньше 100 рублей (рис. 15). Перейдем в режим «Формы». Кнопка появилась, попробуем применить фильтр, щелкнем на кнопку (рис. 16). Действительно, всего 2 записи соответствуют условиям, заданным фильтром, мы получили нужный результат (рис. 17).

Рис. 10. Применить фильтр

Рис. 11. Выбор условия

Рис. 13. Задание имени макроса

Рис. 14. Режим конструктора

Рис. 15. Перетаскивание макроса

Рис. 16. Применение фильтра

Рис. 17. Результат

Импортирование и экспортирование данных, пример экспортирования в Excel

При необходимости можно импортировать данные в базу. Например, если изначально данные хранились у нас в документе Microsoft Excel, мы можем из этого документа импортировать данные в нашу базу.

Можем выполнять и обратную операцию, экспортировать данные из базы, например, тоже в документ Microsoft Excel. Давайте посмотрим, как это делается.

В базу данных мы можем импортировать данные, можем из нее экспортировать данные в другие приложения. Щелкнем на вкладке «Внешние данные». Мы видим, что здесь есть 2 группы команд: «Импорт» и «Экспорт». Попробуем экспортировать данные из таблицы в приложение Microsoft Excel (рис. 18). Щелкнув на соответствующей кнопке, мы откроем таблицу «Экспорт». Выберем имя файла и каталог, куда будет записан наш файл, и щелкнем «ОК» (рис. 19), закрыть (рис. 20). Теперь, откроем тот каталог, в котором должен появиться соответствующий файл электронной таблицы. Действительно, он появился, запустим (рис. 21). Откроется приложение Microsoft Excel, и там мы увидим все данные, которые мы экспортировали из базы (рис. 22).

Рис. 18. Экспорт в Excel

Рис. 19. Выбор пути экспорта

Рис. 21. Запуск файла

Пример создания своего учебного проекта

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

В качестве темы учебного проекта на основе приложения Microsoft Access можно выбрать создание электронного учебника-справочника. Главная кнопочная форма при этом будет служить оглавлением. Выберем один из разделов (рис. 23).

Рис. 23. Учебник-справочник

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

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

Список литературы

  1. Угринович Н.Д. Информатика-9. – М.: БИНОМ. Лаборатория знаний, 2012.
  2. Гейн А.Г., Юнерман Н.А. Информатика-9. – М.: Просвещение, 2012.
  3. Соловьёва Л.Ф. Информатика и ИКТ. Учебник для 9 класса. – СПб.: БХВ-Петербург, 2007.

Домашнее задание

  1. Что такое «Макрос» в MS Access?
  2. Для чего используют «Макросы»?
  3. Какие 2 группы команд размещены на вкладке «Внешние данные»?
  4. Чем будет служить главная кнопочная форма при создании электронного учебника-справочника?

Дополнительные рекомендованные ссылки на ресурсы сети Интернет

Если вы нашли ошибку или неработающую ссылку, пожалуйста, сообщите нам – сделайте свой вклад в развитие проекта.

0 0 голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
×
×