Как сделать напоминание в access?

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

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

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

  • выделите столбцы таблицы (можно целиком, чтобы не ограничивать количество строк с данными);
  • в меню команды Условное форматирование (вкладка Главная) выберите строку Управление правилами;
  • создайте правило в виде формул: «=$C2-СЕГОДНЯ()>1» (формат: заливка голубым) и «=$C2-СЕГОДНЯ()=1» (формат: заливка красным);
  • примените созданные правила.

как сделать напоминание в access

Обратите внимание, что ссылка на ячейку «$С2» смешанная (запрет установлен на изменение номера столбца С). Использование функции «СЕГОДНЯ()» позволит автоматизировать форматирование, так как при каждом открытии файла будет проверяться текущая дата и строки в таблице будут менять цвет заливки. Если результат вам не понравиться, удалите правила, выбрав соответствующую команду в меню кнопки Условное форматирование.

как сделать напоминание в access

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

  • вставьте дополнительный столбец, например, перед таблицей;
  • в первую ячейку столбца проверки вставьте формулу: «=ЕСЛИ(D2-СЕГОДНЯ()=1;»Позвонить»;» «)«;

как сделать напоминание в access

  • скопируйте ее в остальные ячейки столбца;
  • установите фильтр (вкладка Данные, кнопка Фильтр);
  • используйте фильтр для столбца Напоминание.

как сделать напоминание в access

После того, как всем позвонили, снимите фильтр со столбца Напоминание и продолжайте ввод данных о новых заказах.

как сделать напоминание в access

В-третьих, можно формировать список звонков с помощью расширенного фильтра.

как сделать напоминание в access

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

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

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

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

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

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

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

как сделать напоминание в access

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

как сделать напоминание в access

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

как сделать напоминание в access

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

как сделать напоминание в access

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

как сделать напоминание в access

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

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

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

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

как сделать напоминание в access

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

как сделать напоминание в access

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

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

как сделать напоминание в access

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

как сделать напоминание в access

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

как сделать напоминание в access

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

как сделать напоминание в access

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

как сделать напоминание в access

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

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

как сделать напоминание в access

VBA код:

Private Sub Form_Dirty(Cancel As Integer)      Me.cmdSave.Enabled = True  End Sub

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

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

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

как сделать напоминание в access

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

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

VBA код:

Private Sub cmdSave_Click()      Saved = True      DoCmd.RunCommand (acCmdSaveRecord)      Me.cmdSave.Enabled = False      Saved = False  End Sub

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

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

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

VBA код:

Private Sub Form_BeforeUpdate(Cancel As Integer)  Dim Response As Integer  If Saved = False Then      Response = MsgBox("Сохранить внесенные изменения?", vbYesNo, "Сохранить изменения?")      If Response = vbNo Then         Me.Undo      End If      Me.cmdSave.Enabled = False  End If  End Sub

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

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

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