обновить поле vba access

Обновление данных в таблице VBA

Помощь в написании контрольных, курсовых и дипломных работ здесь.

VBA: Запрос на обновление записи в таблице, по значению поля формы
Здравствуйте, есть вопрос. База данных «Гостиница». Как обновить данные в таблице «Номера», а.

Обновление данных в таблице
Есть таблица в аксесе по типу: Поле1 Поле2 Поле3 знач1 знач3 знач5 знач2 знач4 знач6 Потом по.

Обновление данных в таблице
Нужно сделать следующий запрос: «Уменьшить на 10% стоимость тех заказов,клиент которых арендовал.

Обновление данных в таблице
Доброго времени суток, друзья. Нужна помощь в реализации запроса. Есть простая БД магазина, задача.

Решение

Способов несколько, вот простейший:
01.
Создайте запрос на изменение данных с условием вроде :[Forms]![Имя вашей формы]![Имя вашего ключевого поля]
. WHERE [Имя вашего ключевого поля]=[Forms]![Имя вашей формы]![Имя вашего ключевого поля]

02.
Сохраните этот запрос с определённым именем, допустим: «qUpdate_001»

03.
Будет следующий код:

Решение

Можно попробовать ещё так:

Вложения

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba accessЗапросНаОбновление.zip (25.2 Кб, 26 просмотров)

CurrentDb.Execute не распознает в запросах конструкции типа [Forms]![Имя вашей формы]![Имя вашего ключевого поля].
Отсюда и сообщение «Слишком мало параметров. «

Теперь я ещё и с запросом туплю, почему то он изменяет 0 записей.

Eugene-LS, я не спорю, а говорю о том, что не было отображено в скинутом мной примере.
Если вы можете посоветовать как это сделать лучше с удовольствием приму этот совет)
Почему я выбрал такой вариант:
На форме просмотра эти данные выводятся уже в 4 разных поля. При желании их изменить мы нажимаем соответствующую кнопку и открывается уже эта форма, в которой выбираются новые данные и изменяются. + эти поля со списком не имеют источника данных и идея была в том, что изменения вносятся ТОЛЬКО если нажали кнопку, если же форму просто закрыли то и изменений не происходит

Добавлено через 1 минуту
Capi, я и кнопку нажал и захотел написать

Решение

Вложения

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba accessЗапросНаОбновление_v01.zip (39.0 Кб, 29 просмотров)

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Обновление данных в таблице
есть форма. на ней подчиненная. в подчиненную форму вводятся данные x и y, на их основе в этой же.

Обновление данных в таблице из формы
Доброго времени! Подскажите, как реализовать следующую вещь: 1. Есть таблица с данными. В ней.

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba accessОбновление данных в сторонней таблице
Всем привет. подскажите пожалуйста. матерится код в VBA. Делаю обычный запрос на обновление.

Обновление данных в таблице результатов
Всем здравствуйте. Помогите разрешить маленькую проблемку. Есть 2 таблицы (Данные и Результат).

Источник

Как обновить форму из VBA?

Помощь в написании контрольных, курсовых и дипломных работ здесь.

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba accessКак внутри формы 1 открыть форму 2 т.е. как бы обновить форму 1 в MS Access?
Как внутри формы 1 открыть форму 2 т.е. как бы обновить форму 1 в MS Access? Вот например так:

Как обновить значения listbox через VBA
Как обновить значения listbox через VBA

Как обновить встроенный в форму вид?
Вид встроен, single category. Документ находится в режиме чтения, по кнопке изменяется содержимое.

Если код внутри самой формы, то:

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Как обновить таблицу не закрывая форму?
Подскажите, как обновить, не закрывая форму, таблицу (обычная таблица, непрограммируемая). Когда.

Как обновить dataGridView не закрывая форму?
Здравствуйте! Если кто сталкивался с этим, подскажите, как обновить dataGridView не закрывая форму.

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba accessКак обновить подчиненную форму посредством макроса?
Как обновить подчиненную форму через макрос? В Access разбираюсь слабо. Кнопку сделать и навесить.

Как обновить форму без перемещения скрола?
Вопрос. 1. Как сделать, чтобы при обновлении формы не было заметно перемещение скрола? По сути.

Как обновить Подч.Форму, по значению из поля-со-списком
Access: Есть Форма:»Клиенты и организации» в ней Вкладка:»Клиенты»,а в ней Подчиненная.

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba accessКак обновить форму и где лучше хранить List

?
Здравствуйте, у меня есть List и его мне надо отображать на DataGrid, я его.

Источник

Метод Form.Refresh (Access)

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

Синтаксис

выражение.Refresh

выражение: переменная, представляющая объект Form.

Возвращаемое значение

Примечания

Использование метода Refresh эквивалентно выбору параметра Обновить на вкладке Главная.

Microsoft Access автоматически обновляет записи в соответствии с параметром Интервал обновления на вкладке Дополнительно диалогового окна Параметры Access. Для его открытия нажмите кнопку Microsoft Office и выберите Параметры Access. Источники данных ODBC обновляются в соответствии с параметром Период обновления ODBC на вкладке Дополнительно диалогового окна Параметры Access. Метод Refresh можно использовать для просмотра изменений, внесенных в текущий набор записей в форме или таблице, с момента последнего обновления источника записей формы или таблицы.

В базе данных Access метод Refresh показывает только изменения, внесенные в записи в текущем наборе. Так как метод Refresh фактически не отправляет запрос в базу данных, текущий набор не будет включать добавленные записи или исключать записи, которые были удалены с момента последнего повторного запроса базы данных, а также не будет исключать записи, которые больше не удовлетворяют условиям запроса или фильтра. Чтобы повторно запросить базу данных, используйте метод Requery. При повторном запросе источника записей текущий набор записей будет точно отражать все данные в источнике записей.

В проекте Access (ADP) метод Refresh повторно запрашивает базу данных и отображает все новые или измененные записи, а также удаляет удаленные записи из таблицы, на которой основана форма. Кроме того, форма обновляется для отображения записей на основе всех изменений свойства Filter формы.

Пример

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

Поддержка и обратная связь

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.

Источник

Как сделать refresh для отдельного поля в форме access?

Последняя группа макрокоманд в рассматриваемой категории связана с обновлением данных в активных формах, таблицах и запросах. Если несколько человек в сети одновременно изменяют данные, то формы и таблицы у конкретного пользователя могут не отражать актуальных данных. Для того чтобы отображаемые данные соответствовали текущему состоянию базы данных, их необходимо обновить с помощью команды Записи, Обновить (Record, Refresh) (см. разд.Работа с записями гл. 2).

Похожая ситуация возникает даже в однопользовательском режиме, если в форме используется поле со списком, источником данных для которого является таблица или запрос. Если в исходную таблицу были добавлены записи, то в поле со списком они автоматически не появятся — нужно повторно выполнить запрос. Кроме полей со списком, к элементам управления, требующим обновления отображаемых данных, относятся также списки и элементы управления подчиненной формы, объекты OLE и вычисляемые элементы управления, содержащие статистические функции по подмножеству записей, такие как DLookUp () или DSum ().

Для того чтобы выполнить обновление записей в формах, таблицах или элементах управления, используются макрокоманды Обновление(Requery), ПоказатьВсеЗаписи(ShowAllRecords) И ОбновитьОбъект(RepaintObject).

Макрокоманда Обновление (Requery) обновляет данные в объекте базы данных путем повторного просмотра источника данных. Макрокоманда имеет один аргумент, содержащий имя объекта, который следует обновить. Если обновляется активный объект, например форма, то поле аргумента следует оставить пустым. При этом макрокоманда будет повторно выполнять запрос, указанный в свойстве Источник данных (RecordSource) этой формы.

Рассмотрим пример использования макроса для обновления данных. В форме «Клиенты» (Customers) есть поле со списком «Страна» (Country). Источником данных для этого поля является запрос, который выбирает значения из поля «Страна» (Country) таблицы «Клиенты» (Customers):

Если при вводе клиента в таблицу добавляется новое название страны, то в списке эта страна не появится, поскольку запрос будет выполнен повторно только при следующем открытии формы. Чтобы провести обновление списка стран раньше, следует назначить событию После обновления (After Update) формы макрос Клиенты.Обновление списка стран, который состоит из одной макрокоманды Обновление (Requery) со значением аргумента «Страна» (Country) (рис. 11.18).

Рис. 11.18. Назначение макроса событию формы После обновления

Замечание

Макрокоманда Обновление (Requery) обновляет только один объект, поэтому если в форме существуют элементы управления, требующие обновления отображаемых данных, и в макросе, назначенном этой форме, используется макрокоманда Обновление (Requery) с пустым значением аргумента, то обновляться будут только записи в форме. Для каждого такого элемента управления нужно использовать отдельную макрокоманду. Если эта макрокоманда в качестве аргумента содержит имя элемента управления, то при ее выполнении обновляется только данный элемент. Записи в самой форме не обновляются.

С помощью макрокоманды Обновление (Requery) можно обновлять данные и в неактивной форме, точнее, не в той форме, которой назначен макрос. Однако в этом случае сначала необходимо выполнить макрокоманду ВыделитьОбъект(SelectObject), которая перенесет фокус на нужную форму, чтобы ее активизировать (потом фокус можно вернуть обратно).

Макрокоманда ПоказатьВсеЗаписи (ShowAllRecords), как уже отмечалось, отменяет действие фильтра и повторно просматривает источник записей. Ее часто используют для обновления данных в подчиненной форме.

Макрокоманда ОбновитьОбъект (RepaintObject) применяется только к объекту базы данных (к таблице, запросу, форме, отчету, странице, макросу и модулю) и не применяется к элементу управления. Она выполняет немедленное обновление указанного открытого объекта (если имя объекта не задано, обновляется активный объект), хотя при этом не производится повторное выполнение запроса к источнику данных. Обновление объекта не влияет на. отображение новых и удаленных записей, как это происходит при выполнении макрокоманды Обновление (Requery). Обычно макрокоманду ОбновитьОбъект (RepaintObject) применяют для отображения результатов изменения данных с помощью макрокоманд ЗадатьЗначение (SetValue), а также для повторного вычисления значений выражений в вычисляемых элементах управления.

Всем привет! В этой статье я расскажу как сделать информационное сообщение при изменении данных в базе Access.

Как сделать информационное сообщение при изменении данных в базе Access

По умолчанию, когда пользователь вводит или редактирует данные с помощью формы, программа Microsoft Access автоматически сохраняет любые внесенные изменения в таблицах, так как поля формы напрямую связаны с полями соответствующей таблицы. Если пользователь закроет форму или создаст новую запись, все внесенные ранее изменения также автоматически сохраняются. Согласитесь, было бы удобно организовать работу следующим образом: пользователь открывает форму, вносит или изменяет данные. Если он закрывает форму или переходит к новой записи, система выводит информационное сообщение: «Сохранить внесенные изменения?» Если он не вносит изменения, то, соответственно, информационное сообщение не появляется. Также для удобства работы на форме можно создать кнопку «Сохранить». Данная кнопка будет неактивна при запуске самой формы. Как только будут внесены изменения, кнопка «Сохранить» становится активной.

Как это работает?

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

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Внесем изменение в поле «Цена» (350 вместо 250). Кнопка «Сохранить» становится доступной.

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

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

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Поменяем теперь код бренда на «Красота от природы».

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Нажмем кнопку «Выход».

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Если нажать «Да», внесенные изменения сохранятся, форма закроется. Если нажать «Нет», код бренда снова станет «Кислородная линия», форма закроется.

Как это сделать?

Шаг 1. Создание формы

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

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

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

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Шаг 2. Добавление кнопки «Сохранить»

Переходим в конструктор форм, на панели инструментов нам понадобится инструмент «Кнопка».

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Мастер создания кнопок не нужен, нажимаем кнопку «Отмена».

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Щелкаем по созданной кнопке и набираем текст «Сохранить».

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Далее дважды щелкаем по кнопке, чтобы открыть окно свойств. Переходим на вкладку «Данные», пункт «Доступ» — ставим «Нет».

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Переходим на вкладку «Другие» и задаем имя кнопки «cmdSave»

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Шаг 3. Вставка VBA-кода на событие «Внесены изменения»

Переходим в свойства формы, вкладка «Событие», пункт «Внесены изменения». Нажимаем кнопку с тремя точками, выбираем пункт «Программы».

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

VBA код:

При загрузке формы кнопка cmdSave недоступна (см. Шаг 2) (значение свойства Enabled равно False). Как только пользователь вносит или изменяет данные срабатывает событие формы «Внесены изменения» и кнопка cmdSave становится доступа (значение Enabled меняется на True).

Шаг 4. Создание булевой переменной

Для отслеживания статуса кнопки «Сохранить» (нажата кнопка или нет) создадим переменную Saved с помощью оператора Private. Для этого вставим строку Private Saved As Boolean под строкой Option Compare Database в самом верху экрана.

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Шаг 5. Вставка VBA-кода на событие «Нажатие кнопки»

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

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

VBA код:

Если мы внесли изменения, кнопка cmdSave становится доступна (шаг 3). Когда мы нажимаем кнопку «Сохранить», булевая переменная Saved (шаг 4) получает значение True (т.е. кнопка cmdSave нажата), происходит сохранение изменений, после этого кнопка cmdSave становится снова недоступной, а переменная Saved получает значение False до тех пор пока снова не будет нажать кнопка «Сохранить».

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

Шаг 6. Вставка VBA-кода на событие «До обновления»

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

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

VBA код:

Событие До обновления (BeforeUpdate) возникает при любом изменении данных в записи или элементе управления. Если пользователь нажмет кнопки «Новая запись» или «Выход», не кликнув перед этим на кнопку «Сохранить», то появится информационное окно «Сохранить изменения?» (MsgBox(«Сохранить внесенные изменения?», vbYesNo, «Сохранить изменения?»)). Если пользователь нажмет «ДА», то все внесенные изменения сохраняются. Если пользователь нажмет «НЕТ», произойдет отмена всех изменений (Me.Undo). Далее кнопка cmdSave снова станет не доступна независимо от того, нажал пользователь «Да» или нажал «Нет» (Me.cmdSave.Enabled = False).

обновить поле vba access. Смотреть фото обновить поле vba access. Смотреть картинку обновить поле vba access. Картинка про обновить поле vba access. Фото обновить поле vba access

В данной статье мы разобрали как сделать информационное сообщение при изменении данных в базе Access.

Если вам нужна готовая база данных Access, то ознакомьтесь со списком представленным ЗДЕСЬ.
—————————————————
Полезные ссылки:
Урок 17: мастер запросов
Урок 16: запрос на создание таблицы
Урок 15: запросы с параметром
Урок 14: запросы с вычисляемыми полями
Урок 13: Как определить ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ НЕДЕЛИ в запросе
Урок 12: Как создать ЗАПРОС С УСЛОВИЕМ
Урок 11: Как задать условия для ТЕКСТОВЫХ полей в запросах
Уроки по SQL-запросам

26 августа 2003 года

Originally posted by natalia
Получилось! Получилось! Спасибо! Вот только не с первого разу, вот это то я и упустила (дура глупая): Forms!.Requery
Set rstClone = Forms!.RecordsetClone
rstClone.MoveLast
Forms!.Bookmark = rstClone.Bookmark и тут же вопрос — это дело я вставила в цикл до next i, может неправильно, а? А то записи ТО правильно добавляются, ТО их больше в два раза от того, что уникальное поле запоминается из предыдущей записи.. странно как-то… Подскажите этот момент поподробнее и эту часть кода, что она выполняет? Что за RecordsetClone? :)))

Этот кусок кода я опустил в последнем примере, потому как подумал, что для твоей ситуации он не очень критичен.

А смысл его вот какой:

Когда ты обращаешься к таблице программно напрямую (через DAO, ADO и т.д.), а в это же время эта таблица показывается в форме, то все твои изменения в таблице не будут отображены, пока ты принудительно не заставишь Access обновить выводимую таблицу в форме через метод формы — Requery.

Т.е. в твоем случае надо в конце написать:

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

Но у этого метода такой недостаток, чтобы так написать, надо (ОБЯЗАТЕЛЬНО) перевести фокус на элемент (любой) этой подчин. формы., т.е. в итоге:

Тебе такой вариант может подойти.

Но вот существуют ситуации когда переводить фокус на форму ради этого действия очень не хочется.

Например: пользователь работает с одной подч. формой (главный экран), нажимает кнопки, обрабатывает что-то, а на этой же форме, но на другой вкладке другая подчин. форма где ведется лог. И вот в этот лог надо добавить запись и перейти в конец (на последнюю запись, чтобы опять же не прокручивать всю эту форму).
Если мы будем действовать по приведенному выше коду, то у пользователя быстро переключится вид на форму с логом, добавиться запись, обновиться, перескочет на последнюю и только потом его бедного опять вернут к своей любимой форме… 🙂
Приятного мало.

Подитожу. Процесс добавления записей и Requery можно производить с неактивной (ее вообще может быть не видно) формой, а вот для того что перейти в этой НЕАКТИВНОЙ форме на последнюю запись, я и применяю этот код:

Set rstClone = Forms!.RecordsetClone
rstClone.MoveLast
Forms!.Bookmark = RecordsetClone.Bookmark

Делает он следующее.

У каждой формы есть свойство RecordsetClone, которое возвращает объект Recordset (набор записей, про него в справке лучше почитай), в котором находятся записи этой формы. По сути Recordset эта таже таблица, только в виде объекта DAO для того чтобы можно было делать всякие вещи с полями и записями как с обычными объектами в языках программирования.
В этом rstClone мы по умолчанию стоим на первой записе. Переходим на последнюю — rstClone.MoveLast
Теперь используем свойство Bookmark — закладка. Эта Bookmark для того, чтобы можно было поставить закладку, а потом быстро вернуться на нужную запись в Recordset или в форме (она тоже поддерживает закладки). Вот и мы и переходим в форме на ту же запись, что уже перешли в объекте RecordsetClone.

Это свойство Bookmark может немного смутить. У него такая хитрость:

А вот когда мы присваиваем (ПИШЕМ) этому свойству RecordsetClone.Bookmark = bk другую закладку, это значит, мы меняем активную запись на ту, которая была активна, когда считывалась эта закладка (bk), т.е. просто переходим на указанную запись.

В нашем примере эти два действия сразу в одной строке получились:
Forms!.Bookmark = RecordsetClone.Bookmark

С галочкой я так поступаю, может вовсе некорректно:

Private Sub flag_Click()

в итоге во ВСЕХ записях поле pddate становится недоступным. Как же сделать это Enabled только для той записи, в которой я ставлю галочку?

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

К твоему коду, надо добавить еще код обработчик событии формы Current (возникает при ЛЮБОМ переходе польз. к другой записе):

Private Sub Form_Current()

If flag=True Then
Form_podForm1.pddate.Enabled = False
Else
Form_podForm1.pddate.Enabled = True
End If
End Sub

Так что мы всегда его опередим и пользователь от нас не уйдет 🙂

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *