Использование кнопки для запуска действия или последовательности действий
Кнопки в формах Access используются для запуска действий или наборов действий . Например, кнопка может открывать другую форму. Чтобы кнопка запускала действие, нужно связать макрос или процедуру обработки событий со свойством Нажатие кнопки. Можно также внедрить макрос прямо в свойство Нажатие кнопки. Это позволит копировать кнопку в другие формы без потери ее функциональности.
В этой статье
- Добавление кнопки в форму с помощью мастера
- Создание кнопки перетаскиванием макроса в форму
- Создание кнопки без использования мастера
- Настройка кнопки
Добавление кнопки в форму с помощью мастера
С помощью мастера создания кнопок можно быстро создавать кнопки для разных задач, таких как закрытие формы, открытие отчета, поиск записи или запуск макроса.
- В области навигации щелкните форму правой кнопкой мыши и выберите в контекстном меню пункт Конструктор.
- На вкладке Конструктор форм в группе Элементы управления убедитесь, что выбран параметр Использовать мастеры управления .
- На вкладке Конструктор формы в группе Элементы управления нажмите кнопку Кнопка.
- Щелкните форму в том месте, где должна находиться кнопка. Запустится мастер создания кнопок.
- Следуйте указаниям мастера. На его последней странице нажмите кнопку Готово. Мастер создаст кнопку и внедрит макрос в ее свойство Нажатие кнопки. Макрос будет содержать действия, выполняющие выбранную в мастере задачу.
Просмотр или изменение макроса, внедренного в кнопку
- Щелкните в области навигации правой кнопкой мыши форму с нужной кнопкой и выберите в контекстном меню пункт Конструктор или Режим макета .
- Щелкните кнопку, чтобы выделить ее, и нажмите F4, чтобы открыть окно ее свойств.
- В окне свойств на вкладке События в поле свойства Нажатие кнопки должен отображаться текст [Внедренный макрос]. Щелкните в этом поле и нажмите справа от него кнопку .
Откроется конструктор макросов, в котором будут показаны действия во внедренном макросе.
Создание кнопки перетаскиванием макроса в форму
Кнопку запуска макроса можно создать, перетащив готовый макрос в форму в режиме конструктора.
- Чтобы открыть форму в режиме конструктора, щелкните ее правой кнопкой мыши в области навигации и выберите в контекстном меню пункт Конструктор .
- Найдите в области навигации макрос, который должна запускать новая кнопка, и перетащите его в форму. Access автоматически создаст кнопку и сделает ее подписью название макроса. Кроме того, Access вставит в свойство Нажатие кнопки имя макроса, чтобы он запускался при нажатии кнопки. Кнопка будет создана со стандартным именем, но лучше назначить ее свойству Имя какой-нибудь подходящий по смыслу текст. Чтобы отобразить окно свойств кнопки, когда форма открыта в режиме конструктора, щелкните кнопку и нажмите клавишу F4.
Дополнительные сведения о создании макросов см. в статье Создание макроса пользовательского интерфейса.
Создание кнопки без использования мастера
Кнопку можно создать и без мастера. Для этого нужно расположить кнопку на форме и настроить несколько свойств.
- Щелкните форму в области навигации правой кнопкой мыши и выберите в контекстном меню пункт Конструктор .
- На вкладке Конструктор форм в группе Элементы управления убедитесь, что параметр Использовать мастеры управления не выбран.
- На вкладке Конструктор формы в группе Элементы управления нажмите кнопку Кнопка.
- Щелкните форму в том месте, где должна находиться кнопка. Access добавит кнопку в форму. Поскольку параметр Использовать мастера не установлен, больше ничего сделано не будет. Если при добавлении кнопки в форму запустится мастер создания кнопок, можете нажать в нем кнопку Отмена.
- Выделите кнопку и нажмите F4, чтобы отобразить окно ее свойств.
- Откройте вкладку Все, чтобы отобразить все свойства кнопки.
- Задайте нужные свойства, руководствуясь указаниями в таблице ниже.
По умолчанию Access назначает новой кнопке имя Кнопка и добавляет к нему число, например Кнопка34. Рекомендуется изменить такое имя на что-либо более выразительное (например, Отчет о продажах или Закрыть форму). Это поможет, когда кнопку нужно будет использовать в макросе или процедуре обработки событий.
Введите метку, которая будет отображаться на кнопке команды. Например, Отчет о продажах или Форма закрытия.
Примечание: Если свойству Рисунок кнопки назначено изображение, подпись не отображается.
Нажатие кнопки
В этом свойстве можно указать, что должно происходить при нажатии кнопки. Чтобы установить его, щелкните в поле свойства и выполните одно из указанных ниже действий.
- Чтобы кнопка запускала сохраненный макрос, щелкните стрелку вниз и выберите имя нужного макроса.
- Чтобы кнопка запускала встроенную функцию или функцию VBA, введите знак равенства (=) и имя функции, например =MsgBox(«Привет, мир») или =MyFunction(аргументы).
- Чтобы создать выражение, нажмите и выберите пункт Выражения.
- Чтобы начать создание процедуры обработки событий на Visual Basic для приложений (VBA), нажмите и выберите пункт Программы. Чтобы создать внедренный макрос с действиями, которые будет запускать кнопка, нажмите и выберите пункт Макросы.
Примечание: Базам данных Access, содержащим код VBA, для выполнения кода необходимо предоставить статус надежных.
Чтобы получить справку по свойствам, которые здесь не описаны, поместите курсор в поле свойства и нажмите клавишу F1.
Настройка кнопки
С помощью разнообразных средств настройки кнопок в Access можно изменять вид и функции кнопок. Например, можно расположить кнопки в строку или в столбик либо сделать их похожими на гиперссылки.
- Щелкните форму в области навигации правой кнопкой мыши и выберите пункт Конструктор .
- Выполните одну из описанных ниже процедур.
- Создание горизонтального (табличного) или вертикального (в столбик) макета кнопок Добавив кнопки в табличный макет или макет в столбик, можно создать строку или столбец точно выровненных кнопок. Затем их можно перемещать как группу, что упрощает изменение форм. Кроме того, вы можете применить форматирование сразу ко всей строке или столбцу кнопок либо отделить кнопки с помощью линий сетки.
- Щелкните правой кнопкой мыши одну из кнопок, которые нужно добавить в макет, и наведите указатель на пункт Макет в контекстном меню.
- Выберите пункт В виде таблицы или В столбик , чтобы создать соответственно строку или столбец кнопок. Access отобразит границы кнопки, чтобы показать ее макет. У каждой кнопки есть метка, которую нельзя удалить, но можно ужать до очень маленького размера, если она не нужна. На рисунке ниже показаны кнопка и связанная с ней метка в табличном макете. Как видите, метка находится в соседнем разделе выше — это позволяет не повторять метки для каждой записи. На рисунке ниже показаны кнопка и связанная с ней метка в макете в столбик. В таком макете метка и кнопка всегда расположены в одном разделе.
- Добавьте в макет другие кнопки, перетащив их в область макета. При перетаскивании кнопки по области макета в Access отображается горизонтальная (для табличного макета) или вертикальная (для макета в столбик) полоса вставки, которая показывает, где окажется кнопка, когда вы отпустите кнопку мыши. Когда вы отпустите кнопку мыши, элемент управления будет добавлен в макет.
- Перемещение кнопок в раздел выше или ниже в табличном макете. Если вы хотите оставить кнопку в табличном макете, но переместить ее в другой раздел формы (например, из раздела сведений в раздел заголовка формы), выполните указанные ниже действия.
- Выделите кнопку.
- На вкладке Упорядочить выберите команду Вверх или Вниз. Кнопка переместится в соседний раздел выше или ниже, но останется в табличном макете. Если в том месте, куда вы перемещаете кнопку, уже есть элемент управления, они поменяются местами.
Примечание: В макете в столбик команды Вверх и Вниз отключены.
- Щелкните любую из кнопок в макете. В левом верхнем углу макета появится значок селектора.
- Чтобы переместить макет в другое место, перетащите селектор.
- Выделите любую из кнопок в макете.
- На вкладке Упорядочить нажмите кнопку Сетка и выберите стиль линий сетки.
Примечание: Задание для свойства Transparent для кнопки команды значения Да не совпадает с заданием для свойства Visibleзначения Нет. Обе операции скрывают кнопку команды, но если для свойства Transparent задано значение Да , кнопка остается включенной. Если для свойства Visible задано значение Нет , кнопка отключается.

- Отображение кнопки в виде гиперссылки При желании можно скрыть кнопку, но оставить ее подпись. В результате получится элемент управления, который выглядит как надпись, но работает как кнопка. Можно также подчеркнуть текст подписи и изменить его цвет, чтобы он выглядел как гиперссылка.
- Щелкните кнопку, чтобы выделить ее, и нажмите F4, чтобы открыть окно ее свойств.
- В окне свойств на вкладке Макет щелкните поле Тип фона.
- В раскрывающемся списке выберите вариант Прозрачный. Кнопка будет скрыта, но ее подпись останется видимой.
- Чтобы подчеркнуть или изменить цвет текста в подпись, используйте средства в группе Шрифт на вкладке Формат.
- Создание кнопки «Отмена»
- Щелкните кнопку и нажмите F4, чтобы открыть окно ее свойств.
- В поле свойства Отмена выберите значение Да. Если для свойства Отмена для командной кнопки задано значение Да, а форма является активной, пользователь может выбрать кнопку, щелкнув ее, нажав клавишу ESC или клавишу ВВОД, когда кнопка команды фокус. Если для свойства Отмена задано значение Да для любой одной кнопки команды, для всех остальных кнопок в форме это свойство автоматически задается как Нет . Чтобы кнопка «Отмена» отменяла все действия, выполненные в форме или диалоговом окне, нужно создать соответствующий макрос или процедуру обработки событий и связать их со свойством Нажатие кнопки.
Примечание: Если в форме разрешены необратимые операции (например, удаление), рекомендуется сделать кнопку «Отмена» используемой по умолчанию. Чтобы сделать это, установите значение Да для свойств По умолчанию и Отмена.
- Добавьте рисунок на кнопку по приведенным ранее инструкциям
- Выделите кнопку. Если окно ее свойств не отобразится, нажмите клавишу F4.
- В окне свойств кнопки на вкладке Макет введите нужную подпись в поле свойства Подпись.
- Щелкните стрелку раскрывающегося списка в поле свойства Схема субтитров рисунка , а затем выберите нужное расположение. Например, чтобы отобразить подпись под рисунком, выберите Нижний. Чтобы отобразить подпись справа от рисунка, нажмите кнопку Справа. Чтобы упорядочение зависело от языкового стандарта системы, выберите Общие. При использовании этого параметра подпись будет отображаться справа для языков, которые читают слева направо, и слева для языков, которые читают справа налево.
Добавление кнопки на управляемую форму
Изменение форм объектов конфигурации является очень распостраненной задачей при доработке типовый конфигураций, создании отчетов и обработок и т.д. Да в абсолютном большинстве случаев разработчику приходится иметь дело с формами.

Сегодня в статье рассмтрим сквозной пример добавления на управляемую форму кнопки.
Конструктор
Самый простой способ — это конечно же воспользоваться конструктором форм в конфигураторе. Тогда не нужно будет писать ни одной строчки кода. Все что нужно — это пара кликов:

И кнопка уже добавлена!
Но не всегда такой вариант приемлем. Для некоторых задач нужно изменять форму программным образом, например, для формирования кнопок команд печати документов, где для каждой печатной формы создается собственная кнопка. Заранее знать состав всех печатных форм (включая внешние) мы не можем, поэтому добавление кнопок выполняется автоматичкески.
Программное добавление
И так, то что мы сделали в 2 клика сделаем с помощью нескольких строк кода. Перед тем как добавлять команду формы, нам нужно определить процедуру-обработчик этой команды. Добавим в модуль формы следующую процедуру:
&НаКлиенте Процедура Предупредить(Элемент) Предупреждение("Предупреждаю!"); КонецПроцедуры
Теперь нам нужно добавить команду формы и присвоить в качестве обработчика процедуру выше. Добавлять команду нужно на стороне сервера, поэтому используем событие формы «ПриСозданиинаСервере»:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Добвляем команду формы НоваяКоманда = ЭтаФорма.Команды.Добавить("Предупредить"); // Свойство "Действие" содержит имя процедуры-обработчика команды НоваяКоманда.Действие = "Предупредить"; КонецПроцедуры
Отлично, осталось добавить элемент формы типа «Кнопка формы» для команды формы «Предупредить». Дополним обработчик события «ПриСозданииНаСервере»:
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) // Добвляем команду формы НоваяКоманда = ЭтаФорма.Команды.Добавить("Предупредить"); // Свойство "Действие" содержит имя процедуры-обработчика команды НоваяКоманда.Действие = "Предупредить"; // Добавляем элемент "КомандаПредупредить" с типом "Кнопка формы" НовыйЭлемент = Элементы.Добавить("КомандаПредупредить", Тип("КнопкаФормы")); // Присваиваем команду для созданной кнопке НовыйЭлемент.ИмяКоманды = "Предупредить"; КонецПроцедуры
На этом все. Если мы откроем эту форму в режиме 1С:Предприятия, то увидим следующее:

Пример небольшой и врятли даст ответы нв все вопросы по программной модификации форм. Он лишь может подсказать общий принцип.
Читайте также
Когда количество изменений на предприятии превышает критический уровень в сторону необновляемых конфигураций — 1С предлагает создание управляемого приложения
Настройка отчета на СКД без кодирования
Возможность отбора по подстроке реквизитов
Разработки
Как свернуть все активные окна
Обработка — Как сворачивать активные окна

Табло для управляемого приложения, тонкий клиент
Обработка — табло управляемого приложения

«Аудиторский след» (история изменений) документов и справочников для любой конфигурации обычного приложения 8.x
«Модуль для фиксации изменений в документах и справочников»
Еще от автора- Передача данных между управляемыми формами
- Фиксируем колонку в отчете на СКД
- Создаем бизнес-процесс в несколько шагов
- Если у Вас нет феноменальной памяти
Как создать кнопку на форме
Всем привет! В этой статье я расскажу как создать кнопку в базе Microsoft Access.
Как создать кнопку в базе Microsoft Access
Создание кнопок на форме не зависит от того, какая версия Access у вас установлена (2003, 2007, 2010, 2013 или 2016). В данной статье я покажу 2 способа создания кнопок на форме в базе данных Acceess: с помощью мастера и с помощью макроса.
Как это сделать?
Шаг 1. Создание формы
Если у вас нет формы, ее нужно создать. Более подробно как создаются формы можно посмотреть ТУТ. Переходим на вкладку «создание», пункт «Мастер форм». Далее выбираем таблицу или запрос, на основании которых будет создаваться форма. Далее выбираем необходимые поля и нажимаем «Далее».

Выбираем внешний вид формы.

Задаем имя формы и нажимаем «Готово».

Открываем форму в режиме конструктора. Как создать кнопку в базе Microsoft Access будет описано во втором шаге.

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

Выбираем, что отображаем на кнопке: текст или рисунок. Оставляем рисунок по умолчанию и нажимаем «Далее».

Задаем имя кнопки и нажимаем «Готово».


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

Далее выбираем «Текст», нажимаем «Далее» и «Готово».


Шаг 3. Создание кнопки с помощью макроса
На панели инструментов выбираем пункт «Кнопка» и располагаем ее на форме. Появляется окно мастера кнопок. Нажимаем «Отмена».



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

Выбираем «Макросы», нажимаем ОК.

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


Возвращаемся на форму «Таблица 1». Переименуем кнопку, зададим надпись «Выход».

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