Всем привет! В этой статье я расскажу как создать кнопку в базе Microsoft Access.
Как создать кнопку в базе Microsoft Access
Создание кнопок на форме не зависит от того, какая версия Access у вас установлена (2003, 2007, 2010, 2013 или 2016). В данной статье я покажу 2 способа создания кнопок на форме в базе данных Acceess: с помощью мастера и с помощью макроса.
Как это сделать?
Шаг 1. Создание формы
Если у вас нет формы, ее нужно создать. Более подробно как создаются формы можно посмотреть ТУТ. Переходим на вкладку «создание», пункт «Мастер форм». Далее выбираем таблицу или запрос, на основании которых будет создаваться форма. Далее выбираем необходимые поля и нажимаем «Далее».
- Выбираем внешний вид формы.
- Задаем имя формы и нажимаем «Готово».
Открываем форму в режиме конструктора. Как создать кнопку в базе Microsoft Access будет описано во втором шаге.
Шаг 2. Создание кнопки с помощью мастера
На панели инструментов выбираем пункт «Кнопка» и располагаем ее на форме. Появляется окно мастера кнопок. Здесь необходимо выбрать необходимую категорию и задать определенное действие. Выберем «Предыдущая запись» и нажмем «Далее».
Выбираем, что отображаем на кнопке: текст или рисунок. Оставляем рисунок по умолчанию и нажимаем «Далее».
- Задаем имя кнопки и нажимаем «Готово».
Теперь создадим кнопку с текстом. Снова перейдем в мастер кнопок, выберем «Следующая запись».
- Далее выбираем «Текст», нажимаем «Далее» и «Готово».
Шаг 3. Создание кнопки с помощью макроса
На панели инструментов выбираем пункт «Кнопка» и располагаем ее на форме. Появляется окно мастера кнопок. Нажимаем «Отмена».
Дважды щелкаем по созданной кнопке, чтобы открыть окно свойств. Переходим на вкладку «События» пункт «Нажатие кнопки». Нажимаем кнопку с тремя точками.
- Выбираем «Макросы», нажимаем ОК.
Далее в выпадающем списке необходимо выбрать ту команду, которая будет выполняться при нажатии кнопки. Выберем команду «Выйти из Access».
Возвращаемся на форму «Таблица 1». Переименуем кнопку, зададим надпись «Выход».
Переходим в режим формы и проверим как работает кнопка «Выход». Приложение microsoft Access должно закрыться.
- В данной статье мы разобрали как создать кнопку в базе Microsoft Access.
- Если вам нужна готовая база данных Access, то ознакомьтесь со списком представленным ЗДЕСЬ.
—————————————————
Полезные ссылки: - Урок 17: мастер запросов
Урок 16: запрос на создание таблицы
Урок 15: запросы с параметром
Урок 14: запросы с вычисляемыми полями
Урок 13: Как определить ГОД, КВАРТАЛ, МЕСЯЦ, ДЕНЬ НЕДЕЛИ в запросе
Урок 12: Как создать ЗАПРОС С УСЛОВИЕМ
Урок 11: Как задать условия для ТЕКСТОВЫХ полей в запросах
Уроки по SQL-запросам
Источник: https://accesshelp.ru/kak-sozdat-knopku-v-baze-microsoft-access/
Archie Goodwin
Как создать форму выскакивающую при входе, в которой бы была проверка по паролю для пользователя.
Суть в том, что бы создать форму выскакивающую при входе, в которой бы были поле выпадающего списка для выбора сотрудника, поле для ввода пароля и соответственно кнопка «ОК». Но это не просто форма для безопасности. Еще должна быть привязка к должности пользователя.
Так, после подтверждения правильности ввода данных, должна открываться форма со множеством подчиненных форм и кнопок на отчеты и запросы, при чем эта форма должна быть разной для каждой должности.
Таким образом, получается что будет создан пользовательский интерфейс при этом не закрывая, так сказать, исходный код, но по большому счету, любому пользователю будет незачем просматривать все отчеты, фомы и запросы базы в поисках непонятно чего, так как у него все будет нужно у него перед глазами.
Самое первое что нужно, так это таблица с сотрудниками (или пользователями) со столбцами где указаны их имя, должность и пароль.
Потом создаем новую форму с помощью конструктора. Внешне можно настраивать как угодно, но обязательно должно быть поле с выпадающим списком, текстовое поле для ввода пароля и кнопка подтверждения. Вот что получилось у меня
Чтобы форма открывалась сразу же при запуске базы данных, необходимо
Для MS Access 2003
В окне БД — Сервис->Параметры запуска->Вывод формы/страницы….. Выбирайте, какую форму хотите запускать при открытии БД…
Для MS Access 2007
В окне БД — Сервис->Параметры запуска->Вывод формы/страницы….. Выбирайте, какую форму хотите запускать при открытии БД…
Соответственно для поля выпадающего списка нужно сделать привязку «источника строк» к полям таблицы «Персонал» (ну или пользователи) и выбрать такие поля как ID (уникальный номер для каждого сотрудника), Имя (в нашем случае поле называется ФИО) и Должность
- При желании можно также выставить сортировку по интересующему полю, либо по ID, тогда пользователи будут отображаться по мере поступления на работу, можно по Имени, а можно сделать сортировку по должностям.
- Далее выделяем кнопку «ОК» в конструкторе и ищем поле в событиях «Нажатие кнопки», выбирая [Процедура обработки событий] переходим в Visual Basic и прописываем следующий сценарий для кнопки, который будет работать по клику:
Private Sub cmdLogin_Click() 'cmdLogin — это имя кнопки для которой пишется сценарий
Dim rst As DAO.Recordset
Set rst = CurrentDb.OpenRecordset(«Сотрудники») 'Сотрудники — указываем с какой таблицей будет работать сценарий
With rst
If IsNull(Me.cboCurrentEmployee.Value) Then 'Условие если поле выпадающего списка на момент клика пустое, то
MsgBox «Ошибка входа! Выберите пользователя.»
Exit Sub
Else:
.FindFirst («ID=» & Me.cboCurrentEmployee.Value) 'Если поле не пустое, то производится поск на соответствие с данными таблицы Сотрудники
If .NoMatch Then ' Если нет совпадений, то
MsgBox «Ошибка входа! О данном пользователе нет информации в БД.»
Exit Sub
Else:
If Me.Поле_для_пароля.Value .Fields(«Пароль»).Value Then 'Условие для сравнения введенных данных в поле для пароля с колонкой пароль в таблице «Сотрудники»
MsgBox «Пароль неправильный или не соответствует имени пользователя»
Exit Sub
End If
If IsNull(Me.Поле_для_пароля.Value) Then ' Условие для ошибки в случае, если поле для пароля не заполненное
MsgBox «Вы не ввели пароль!»
Exit Sub
End If
DoCmd.Close 'Команда на закрытие текущей формы, в данном случае формы входа
Select Case .Fields(«Должность»).Value
Case «Директор»
DoCmd.OpenForm «Партнеры»
Case «Координатор по продажам»
DoCmd.OpenForm «Накладные»
Case «Просто ходит за зарплатой»
DoCmd.OpenForm «Форма_для_меня_и_босса» 'отбор по полю должность и команда открытие указаной формы для соответсвующей должности
End Select
End If
End If
End With
rst.Close
Set rst = Nothing
End Sub
PS код уже с ми относительно его содержания
Собственно как бы все, задумка реализована. Теперь чтобы создать действительно пользовательский интерфейс нужно создать актуальные и необходимые формы для каждой должности и вставить в необходимую часть кода указанного выше.
Источник: http://archie-goodwin.net/load/specializirovannye_blogi/ms_office/forma_vkhoda_ms_access/28-1-0-211
Создание и удаление поля подстановки
Создание поля подстановки не только делает данные более понятными, но и позволяет избежать ошибок данных, ограничивая значения, которые можно вводить. Поле подстановки может отображать понятное пользователю значение, связанное с другим значением в таблице исходных данных.
Например, вам нужно записать заказ клиента в таблице «Заказы». Однако все сведения о клиентах отслеживаются в таблице «Клиенты». Вы можете создать поле подстановки, отображающее сведения о клиенте в элементе управления «поле со списком» или «список».
Затем, когда вы выбираете клиента в этом элементе управления, в записи заказа сохраняется соответствующее значение, например значение первичного ключа клиента.
Примечание. В Access есть другие типы полей списков: поле списка значений, которое хранит только одно значение из допустимых, определенных в свойстве, и многозначное поле, в котором можно хранить до 100 значений, разделенных запятой (,). За дополнительной информацией обращайтесь к статьям Создание и удаление поля списка значений и Создание и удаление многозначного поля.
Что такое поле подстановки?
Создание поля подстановки в Конструкторе
Сведения о связанных и отображаемых значениях
Обновление свойств поля подстановки
Удаление поля подстановки
Свойства поля подстановки
Поле подстановки — это поле таблицы, значение которого получено из другой таблицы или запроса. По возможности следует создавать поле подстановки с помощью мастера подстановок, который упрощает процесс, автоматически заполняя соответствующие свойства полей и создавая нужный тип связи между таблицами.
К началу страницы
-
Откройте таблицу в режиме Конструктор.
-
В первой доступной пустой строке щелкните ячейку в столбце Имя поля и введите имя поля подстановки.
-
В столбце Тип данных этой строки щелкните стрелку, а затем в раскрывающемся списке выберите пункт Мастер подстановок.
Примечание. Мастер подстановок в зависимости от выбранных в нем настроек создает списки трех типов: поле подстановки, поле списка значений и многозначное поле.
-
Внимательно следуйте указаниям мастера.
-
На первой странице выберите вариант Объект «поле подстановки» получит значения из другой таблицы или другого запроса и нажмите кнопку Далее.
-
На второй странице выберите таблицу или запрос со значениями и нажмите кнопку Далее.
-
На третьей странице выберите одно или несколько полей и нажмите кнопку Далее.
-
На четвертой странице выберите порядок сортировки для полей при отображении в списке и нажмите кнопку Далее.
-
На пятой странице настройте ширину столбца, чтобы упростить чтение значений и нажмите кнопку Далее.
-
На шестой странице при необходимости измените имя поля, установите флажок Включить проверку целостности данных, выберите вариант Каскадное удаление или Ограничить удаление и нажмите кнопку Готово.
Дополнительные сведения о применении проверки целостности данных см. в статье Создание, изменение и удаление отношения.
-
-
Сохраните изменения.
К началу страницы
Поле подстановки предназначено для замены отображаемого числа, например ИД, более понятным значением, таким как имя. Например, вместо отображения идентификатора контакта Access может показать имя контакта. Идентификатор контакта является связанным значением. Оно автоматически ищется исходной таблице или запросе и заменяется именем контакта. Имя контакта является отображаемым значением.
Важно понимать разницу между отображаемым и связанным значением поля подстановки. Отображаемое значение автоматически выводится в режиме таблицы (по умолчанию). Тем не менее сохраняется именно связанное значение, использующееся в условиях запроса, а также приложением Access при связывании таблиц.
Ниже в примере поля подстановки «КомуНазначено»:
- 1 Имя сотрудника является отображаемым значением
- 2 ИД сотрудника является связанным значением, сохраняемым в свойстве Присоединенный столбец поля подстановки.
- К началу страницы
Если для создания поля подстановки используется мастер подстановок, его свойства задаете вы. Чтобы изменить структуру многозначного поля, укажите свойства Подстановки.
-
Откройте таблицу в Конструкторе.
-
Щелкните имя поля подстановки в столбце Имя поля.
-
В разделе Свойства поля откройте вкладку Подстановка.
-
Задайте свойству Тип элемента управления значение Поле со списком, чтобы видеть все доступные изменения свойств, отражающие ваш выбор. Дополнительные сведения см. в разделе Свойства поля подстановки.
К началу страницы
Важно! При удалении поля подстановки, в котором содержатся данные, эти данные теряются без возможности восстановления, отменить это действие нельзя.
Поэтому перед удалением каких-либо полей или других компонентов базы данных создавайте резервную копию базы данных. Также удаление поля подстановки может быть запрещено, так как применяется проверка целостности данных.
Дополнительные сведения см. в статье Создание, изменение и удаление отношения.
-
Откройте таблицу в режиме Режим таблицы.
-
Найдите поле подстановки, щелкните правой кнопкой мыши строку заголовка и выберите команду Удалить поле.
-
Нажмите кнопку Да, чтобы подтвердить удаление.
-
Откройте таблицу в режиме Конструктор.
-
Щелкните область выделения строки рядом с полем подстановки, а затем нажмите клавишу DELETE, либо щелкните правой кнопкой мыши область выделения строки и выберите команду Удалить строки.
-
Нажмите кнопку Да, чтобы подтвердить удаление.
К началу страницы
Тип элемента управления | Укажите это свойство, чтобы задать отображаемые свойства:
|
Тип источника строк | Определяет, откуда брать значения для поля подстановки: из другой таблицы или запроса либо из списка указанных вами значений. В качестве источника вы также можете выбрать имена полей таблицы или запроса. |
Источник строк | Указывает таблицу, запрос или список значений, из которых извлекаются значения для поля подстановки. Если свойство Тип источника строк имеет значение Таблица или запрос или Список полей, в этом свойстве должно быть указано имя таблицы или запроса либо инструкция SQL, представляющая запрос. Если свойство Тип источника строк имеет значение Список значений, это свойство должно содержать список значений, разделенных точками с запятой. |
Связанный столбец | Указывает столбец в источнике строк, в котором содержится значение, хранящееся в столбце подстановок. Может принимать любое значение в диапазоне между 1 и числом столбцов в источнике строк. Столбец, из которого извлекается значение, может отличаться от отображаемого столбца. |
Число столбцов | Определяет число столбцов в источнике строк, которые можно отобразить в поле подстановки. Чтобы выбрать столбцы для отображения, нужно задать ширину столбцов в свойстве Ширина столбцов. |
Заглавия столбцов | Определяет, нужно ли отображать заголовки столбцов. |
Ширина столбцов | Задает ширину каждого столбца. Отображаемое значение в поле подстановки — это один или несколько столбцов, для которых в свойстве Ширина столбцов указано значение, отличное от нуля. Если столбец не нужно отображать, например столбец «Код», укажите значение «0» для его ширины. |
Число строк списка | Определяет количество строк, отображаемых в поле подстановки. |
Ширина списка | Определяет ширину элемента управления, появляющегося при отображении поля подстановки. |
Ограничиться списком | Определяет возможность ввода значения, отсутствующего в списке. |
Разрешить несколько значений | Определяет возможность выбора нескольких значений в поле подстановки. Нельзя изменить значение этого свойства с «Да» на «Нет». |
Разрешить изменение списка значений | Определяет возможность редактирования элементов поля подстановки, основанного на списке значений. Если это свойство имеет значение Да, при щелчке правой кнопкой мыши поля подстановки, основанного на списке значений из одного столбца, в меню появится команда Изменение элементов списка. Если поле подстановки содержит несколько столбцов, это свойство игнорируется. |
Форма изменения элементов списка | Указывает существующую форму, используемую для изменения элементов списка в поле подстановки, основанном на таблице или запросе. |
Только значения источника строк | Показывает только значения, соответствующие текущему источнику строк, если свойство Разрешить несколько значений имеет значение Да. |
К началу страницы
Источник: https://support.microsoft.com/ru-ru/help/304462/how-to-add-lookup-fields-in-a-microsoft-access-table
Иллюстрированный самоучитель по Microsoft Access 2002
При создании новых форм используются параметры, заданные с помощью диалогового окна Параметры (Options).
Для отображения окна параметров выберите команду Сервис › Параметры (Tools › Options) и в появившемся диалоговом окне раскройте вкладку Формы и отчеты (Forms/Reports) (рис. 5.12).
С помощью этой вкладки можно задать имя существующей формы (в текстовом поле Шаблон формы (Form template)), которая будет использована в качестве образца оформления новых форм, исключая формы, созданные с помощью Мастера форм.
Можно также задать способ выделения объектов в форме или отчете, выбрав соответствующий элемент в группе Выделение объектов (Selection behavior), и еще назначить использование по умолчанию процедур VBA для обработки событий форм, элементов управления или отчетов, установив флажок Всегда использовать процедуры обработки событий (Always use event procedure).
Рис. 5.12. Вкладка Формы и отчеты диалогового окна Параметры
Основные элементы управления
В этом разделе мы рассмотрим наиболее простые и часто используемые элементы управления: текстовое поле, надпись, поле со списком, переключатель, выключатель и флажок. Формы с вкладками и многостраничные формы будут подробно рассмотрены в гл. 9.
Чтобы сделать форму более понятной и легко читаемой, в нее добавляют заголовки, подписи или пояснения. Этот текст является неизменяемым и создается с помощью элемента управления Надпись (Label).
Для отображения, ввода или изменения в форме текстовых данных, например примечаний, используют текстовые поля, которые создаются с помощью элемента управления Поле (Text Box).
Текстовые поля позволяют вводить произвольные значения (хотя можно ограничить множество допустимых значений для поля, задав с помощью окна свойств текстового поля, например, маску ввода или правило проверки введенного значения).
Чтобы предоставить пользователю выбор из определенного набора значений, вместо текстовых полей применяют такие элементы управления, как флажки, переключатели, выключатели, объединенные в группы однотипных элементов, а также списки.
Группа (рис. 5.13) тоже представляет собой элемент управления, который имеет название Группа переключателей (Option group). С каждым элементом управления в группе сопоставляется уникальное число, однозначно определяющее данный элемент в группе, и это число сохраняется в качестве значения свойства Значение (Option Value) элемента управления.
Отдельно стоящий элемент управления типа Флажки (Check box), Переключатели (Option button) или Выключатели (Toggle button), не включенный в группу подобных элементов, определяет значение логического типа: Да (Yes) или Нет (No), В данном случае вместо значения Да допускается использовать значение Истина (True) или любое положительное число, а вместо значения Нет – значение Ложь (False) или ноль. Элементы управления Флажки (Check box), Переключатели (Option button), Выключатели (Toggle button) и Группа переключателей (Option group) имеют свойство Значение по умолчанию (Default Value), позволяющее задать первоначальное состояние элемента управления или группы. Для отдельного элемента управления в качестве значения этого свойства используется значение логического типа, а для группы – число, сопоставленное с одним из элементов группы (с тем элементом, который будет выбран в группе по умолчанию).
Рис. 5.13. Отдельные флажки, переключатели, выключатели и группы элементов
Кроме групп элементов, для предоставления выбора значения какого-либо параметра из заданного набора можно использовать элементы управления Список (List Box) или Поле со списком (Combo Box). Ввести значение в поле со списком можно двумя способами: ввести значение в поле или выбрать значение в раскрывающемся списке.
Когда требуется выбрать одно из нескольких возможных значений, пользователю намного удобнее работать со списком или группой элементов, чем с текстовым полем.
Во-первых, чтобы сделать выбор, пользователю не нужно вводить значение полностью, а достаточно лишь щелкнуть кнопкой мыши, чтобы выделить нужный элемент.
Во-вторых, нет необходимости помнить все допустимые при выборе значения, поскольку они явно перечислены в элементах группы или списка.
Поэтому, чтобы сделать интерфейс приложения более удобным для пользователя, используйте в формах группы или списки вместо текстовых полей всегда, когда нужно обеспечить выбор одного из нескольких значений. А также используйте отдельные флажки, выключатели или переключатели вместо текстовых полей, когда требуется предоставить пользователю выбор между альтернативами «да» – «нет» для заданных параметров.
Источник: http://samoychiteli.ru/document18111.html
Класс CheckBox — работа с флажками VBA
В этой статье мы рассмотрим такой элемент управления в окне ToolBox, как Флажок, за работу с ним отвечает класс VBA CheckBox. Флажки довольно часто используются на формах, их часто называют “птичками” или “галочками”. Сами по себе объекты vba класса CheckBox являются независимыми друг от друга, и позволяют определить одно из двух состояний: галочка установлена, или галочка снята.
- Флажки удобны при составлении опросов, например, из десяти цветов нужно отметить те, которые больше всего нравятся. Собственно, в этой статье мы и попытаемся сделать своеобразный опрос, но пока, давайте рассмотрим основные свойства класса CheckBox:
- Name – ну, как всегда, имя объекта
- Caption – определяет надпись, которая будет находится возле галочки справа.
TripleState – свойство позволяет определить третье состояние флажка.
Как упоминалось выше, компонент vba CheckBox может принимать два значения: галочка установлена (true), галочка снята (false), но можно задать и третье состояние (Null) – в этом случае объект будет серого цвета и будет недоступен. Если это свойство содержит значение false – будут поддерживаться только два состояния, если true – все три.
- Value – данное свойство позволяет получить состояние выбора (true, false или Null).
- Событие Change класса CheckBox происходит при изменении состояния флажка.
- Скажу честно, цель статьи – показать простой пример использования Флажков, поэтому я особо не вникал во все премудрости данного компонента.
- И так, цель задания: добавить в проект форму, на ней разместить 12 флажков, разделенных на 4 группы по 3 штуки, Например,
- Телефон: Nokia, Samsung, Siemens
- Девушка: рыжая, светлая, темная (Ха-ха!!!!)
- Ноутбук: Asus, Acer, Lenovo
- Транспорт: велосипед, автомобиль, самокат
Ну, думаю, вы суть поняли: размещаете надпись, а под ней в столбик флажки.
Справа я добавил компонент ListBox – как только мы будем ставить галочку для vba CheckBox, элемент сразу будет добавляться в список, плюс, элемент управлении Флажок сразу будет становится недоступным после выбора (свойство Enabled примет значение False). Еще на форме (UserForm) нам понадобится кнопка, которая будет очищать список, и будет делать доступными все флажки.
Знаю, знаю, пример не столько практичен, сколько теоретичен….
В коде для формы нужно добавить следующие процедуры:
Private Sub CheckBox1_Change() If CheckBox1.Value = True Then ListBox1.AddItem CheckBox1.Caption CheckBox1.Enabled = False End If End Sub Private Sub CheckBox2_Change() If CheckBox2.Value = True Then ListBox1.AddItem CheckBox2.Caption CheckBox2.Enabled = False End If End Sub Private Sub CheckBox3_Change() If CheckBox3.Value = True Then ListBox1.AddItem CheckBox3.Caption CheckBox3.Enabled = False End If End Sub Private Sub CheckBox4_Change() If CheckBox4.Value = True Then ListBox1.AddItem CheckBox4.Caption CheckBox4.Enabled = False End If End Sub Private Sub CheckBox5_Change() If CheckBox5.Value = True Then ListBox1.AddItem CheckBox5.Caption CheckBox5.Enabled = False End If End Sub Private Sub CheckBox6_Change() If CheckBox6.Value = True Then ListBox1.AddItem CheckBox6.Caption CheckBox6.Enabled = False End If End Sub Private Sub CheckBox7_Change() If CheckBox7.Value = True Then ListBox1.AddItem CheckBox7.Caption CheckBox7.Enabled = False End If End Sub Private Sub CheckBox8_Change() If CheckBox8.Value = True Then ListBox1.AddItem CheckBox8.Caption CheckBox8.Enabled = False End If End Sub Private Sub CheckBox9_Change() If CheckBox9.Value = True Then ListBox1.AddItem CheckBox9.Caption CheckBox9.Enabled = False End If End Sub Private Sub CheckBox10_Change() If CheckBox10.Value = True Then ListBox1.AddItem CheckBox10.Caption CheckBox10.Enabled = False End If End Sub Private Sub CheckBox11_Change() If CheckBox11.Value = True Then ListBox1.AddItem CheckBox11.Caption CheckBox11.Enabled = False End If End Sub Private Sub CheckBox12_Change() If CheckBox12.Value = True Then ListBox1.AddItem CheckBox12.Caption CheckBox12.Enabled = False End If End Sub Private Sub CommandButton1_Click() CheckBox1.Enabled = True CheckBox2.Enabled = True CheckBox3.Enabled = True CheckBox4.Enabled = True CheckBox5.Enabled = True CheckBox6.Enabled = True CheckBox7.Enabled = True CheckBox8.Enabled = True CheckBox9.Enabled = True CheckBox10.Enabled = True CheckBox11.Enabled = True CheckBox12.Enabled = True ListBox1.Clear End Sub |
Процедуры от CheckBox1_Change до CheckBox12_Change носят практически один и тот же характер – идет обработка события Change.
Если состояние флажка ровно true (вы поставили птичку), то в список ListBox1 с помощью метода AddItem добавляется значение, хранимое в свойстве Caption (надпись рядом с птичкой).
Далее происходит присваивание значения False свойству Enabled – делаем объект CheckBox недоступным.
Процедура CommandButton1_Click отвечает за обработку клика по кнопке. Видим, что для каждого флажка свойство Enabled принимает значение True, то есть, он становится доступным. Метод Cleare – полностью очищает список ListBox1.
И так, в этой статье мы кратко рассмотрели работу с классом CheckBox (Флажок) vba языка, да, я рассмотрел довольно простой пример использования, но… не все сразу.
Кстати, пример показанный в статье можно использовать и в Exel и в Word. Сам расчет идет на то, что бы описать базовую информацию по языку VBA, а уже потом переходить к чему-то более сложному.
Так, как только я закончу с элементами управления, я перейду к описанию синтаксиса языка VBA, который практически идентичен языку VBScript, но код VBScript может выполняться самостоятельно в теле отдельного файла (сценариях), а VBA – работает в теле документа Microsoft.
Источник: http://scriptcoding.ru/2013/08/29/vba-checkbox/
Флажки и переключатели в формах Access
В данной части лабораторной работы будут рассмотрены флажки и переключатели на формах Access.
Флажки
Предназначены для заполнения логических полей, принимающих только два значения: Да / Нет или Истина / Ложь.
Рассмотрим пример использования флажков в формах Access для ввода значений категории Ценный в таблицу ТОВАР:
- Добавим в таблицу ТОВАР поле Ценный, указав логическое значение. Какой товар ценен, а какой нет, решите сами. Пометки установим после.
- Теперь используя буфер обмена, создадим из формы “Товар” форму “Товар с флажками”. И откроем новую форму в режиме конструктора.
- Добавим на область данных элемент Флажок. Подпись переименуем в Ценный, а в Свойствах флажка укажем, что данные берем из поля Ценный.
- Перейдите в режим работы с формой и установите флажки на ценных товарах.
- Перейдите в таблицу ТОВАР и убедитесь, что соответствующие флажки установлены.
Задание
Создайте форму “Товар с флажками”.
- Добавьте в таблицу ПОКУПАТЕЛЬ поле Надежный. Создайте форму “Покупатель с флажком”.
Создание группы переключателей
Переключатели
Создадим форму “Товар с переключателями” на основе формы “Товар”.
- Используя буфер обмена, создаем копию нужной формы и открываем ее в режиме конструктора.
- Выбираем на Панели элементов пиктограмму Группа (или Группа переключателей). И размещаем ее в области данных. После этого должен запуститься Мастер. Если он не запустился, то у Вас отжата пиктограмма Волшебная палочка, включите ее.
- Мастер предложит ввести подписи переключателей. Введем названия категорий товаров. При этом один из товаров назначим предпочтительным.
- Затем соглашаемся с предложенными значениями и указываем для хранения поле Категория таблицы ТОВАР.
- Выберем представление и вид.
- Задаем название группе Категория товара.
Задание. Создайте формы
- “Товар с переключателями”
- “Покупатель с переключателями”, используя поле Категория таблицы ПОКУПАТЕЛЬ.
Переход к списку лабораторных заданий
Источник: http://aermolenko.ru/2012/03/flazhki-i-pereklyuchateli-v-formah-access/
Как установить флажок в отчете Access 2010?
Я разрабатываю приложение БД через MS Access 2010. Я добавил несвязанный двоичный флажок в отчет, чтобы пользователь мог выбрать один из двух источников записей (запросов) для двух вариантов отчета. Флажок Свойство Control Source является пустым, а для Triple State установлено значение No .
Тем не менее, при открытии отчета, флажок постоянно недоступен, независимо от того, сколько раз он нажимался! Кроме того, при каждом щелчке по my_checkbox_Click() запускается дважды, и его значение переключается между Null и True ! Значение Null, по-видимому, интерпретируется как False что может быть в порядке, если событие не запускалось дважды при каждом щелчке.
Как сделать так, чтобы оба флажка отображались правильно — как двоичный флажок, переключаясь между да и нет — и правильно функционировали , _Click() только один раз за клик? Если это известная проблема без решения, какой тип кнопки лучше всего использовать в качестве обходного пути?
Мой код:
Private Sub Report_Load()
Debug.Print vbCrLf & «Report_Load»
Me.my_chk.Value = False
set_data_source
End Sub
Private Sub my_chk_Click()
Debug.Print vbCrLf & «my_chk_Click»
set_data_source
End Sub
Private Sub set_data_source()
Debug.Print vbCrLf & «set_data_source»
Debug.Print «Me.my_chk.Value», Me.my_chk.Value
Debug.Print «Me.my_chk.ControlSource «, Me.my_chk.ControlSource
Debug.Print «Me.my_chk.TripleState «, Me.my_chk.TripleState
Me.RecordSource = IIf(Me.my_chk.Value, «my_yes_qry», «my_no_qry»)
Me.Requery
Debug.Print «Me.RecordSource», Me.RecordSource
End Sub
Немедленное окно:
Report_Load
set_data_source
Me.my_chk.Value False
Me.my_chk.ControlSource
Me.my_chk.TripleState False
Me.RecordSource my_no_qry
' click once on checkbox
my_chk_Click
set_data_source
Me.my_chk.Value Null
Me.my_chk.ControlSource
Me.my_chk.TripleState False
Me.RecordSource my_no_qry
my_chk_Click
set_data_source
Me.my_chk.Value -1
Me.my_chk.ControlSource
Me.my_chk.TripleState False
Me.RecordSource my_yes_qry
' click once on checkbox
my_chk_Click
set_data_source
Me.my_chk.Value Null
Me.my_chk.ControlSource
Me.my_chk.TripleState False
Me.RecordSource my_no_qry
my_chk_Click
set_data_source
Me.my_chk.Value -1
Me.my_chk.ControlSource
Me.my_chk.TripleState False
Me.RecordSource my_yes_qry
Единственной хорошей новостью является то, что Requery после изменения RecordSource правильно (если слишком кратко) влияет на данные.
Другое дело, даже если мой флажок не имеет AfterUpdate перечисленных в разделе « Events , если я заменю вышеуказанный обработчик my_checkbox_Click() на
Private Sub my_chk_AfterUpdate()
Debug.Print vbCrLf & «my_chk_AfterUpdate»
set_data_source
End Sub
я получил
Report_Load
set_data_source
Me.my_chk.Value False
Me.my_chk.ControlSource
Me.my_chk.TripleState False
Me.RecordSource my_no_qry
' click once on checkbox
my_chk_AfterUpdate
set_data_source
Me.my_chk.Value -1
Me.my_chk.ControlSource
Me.my_chk.TripleState False
Me.RecordSource my_yes_qry
' click once on checkbox
my_chk_AfterUpdate
set_data_source
Me.my_chk.Value -1
Me.my_chk.ControlSource
Me.my_chk.TripleState False
Me.RecordSource my_yes_qry
который, как вы можете видеть, тоже не работает, потому что теперь, даже несмотря на то, что AfterUpdate срабатывает один раз за клик, значение флажка не меняется!
На access-programmers.co.uk/forums было предложение (относительно формы, а не отчета) использовать причудливое кодирование
Nz(Me.my_chk = True, False)
что я пытался, но это не имело никакого значения в результате.
ms-access vba checkbox ms-access-2010
Источник: https://geekquestion.com/7119866-kak-ustanovit-flazhok-v-otchete-access-2010/
Создание и использование полей подстановки
Создание и использование полей подстановки
В ряде случаев поле может включать лишь определенные значения, которые иногда содержатся в заранее заданном списке, а иногда – в самом поле, вместе с произвольно вводимыми данными.
Бывают ситуации, когда ввод данных можно упростить и ускорить за счет использования подстановок – ввода понятий, уже содержащихся в определенных полях, например элементов списков.
В качестве таких списков могут служить таблица, запрос в этой же или другой базе данных или список, созданный пользователем для многократного применения.
Рассмотрим создание подстановки на следующем примере. В сформированную перед этим таблицу (см. рис. 3.20) надо ввести новое поле Фирмы. Оно должно заполняться за счет подстановки значений из таблицы Фирмы, которая содержится в той же базе данных.
- Для создания подстановок используется мастер подстановок. Запустить его можно:
- • в режиме конструктора таблиц;
- • в режиме таблицы.
- Подстановка в режиме конструктора таблиц
Чтобы запустить мастер подстановок в режиме конструктора таблиц, сначала войдите в него. Затем щелкните по стрелке прокрутки в поле, которое вы хотите заполнить одним из значений (в нашем случае это поле Фирмы). В появившемся списке типов данных выберите мастер подстановок – рис. 3.21.
Рис. 3.21
В результате на экране возникнет первое окно мастера подстановок (см. рис. 3.22). Мастер создает столбец подстановок, то есть список значений, из которых надо выбрать подходящее. В этом окне следует указать, что нужно вывести на экран: список значений из таблицы или список запроса, который пользователь сам будет заполнять по своему усмотрению.
Рис. 3.22
Приняв решение, пользователь выбирает в диалоговом окне соответствующий переключатель, а затем щелкает по кнопке Далее.
Если был выбран первый вариант, мастер подстановок открывает следующее диалоговое окно (см. рис. 3.23). Здесь пользователь определяет таблицу и/или запрос, значениями которых он будет заполнять поле подстановки. Например, на рис. 3.
23 показано, что эти значения выбираются из таблицы Фирмы. Теперь снова надо щелкнуть по кнопке Далее.
Если вы передумали и хотите что-либо исправить в предыдущем окне, вернитесь к нему с помощью кнопки Назад или вообще отмените все предыдущие действия, щелкнув по кнопке Отмена.
Рис. 3.23
В следующем окне (см. рис. 3.24) вы должны определить объект-источник подстановки и указать те поля в этом объекте, из которых будут выбираться конкретные значения. Сначала пометьте их в левом поле с помощью кнопки с одной стрелкой, указывающей вправо (для каждого значения по отдельности), или с двумя стрелками (для всех сразу). Затем перенесите их в правое поле.
Рис. 3.24
Теперь повторите те же операции с кнопками, что и в предыдущем окне. Если вы выбрали Далее, то в следующем окне мастера подстановок (см. рис. 3.25) к вашим услугам появится столбец.
В нем содержится перечень значений, из которых следует выбрать нужное (в нашем случае это названия фирм). В окне есть опция, рекомендующая скрыть ключевые поля (рекомендуется).
Мы согласны с разработчиками Access и также советуем поставить в этом поле флажок.
Рис. 3.25
Если вас не устраивает ширина столбца и вы хотите ее изменить, мастер подстановок любезно порекомендует либо передвинуть мышью правую границу столбца, установив его желаемую ширину, либо дважды щелкнуть правой кнопкой мыши по заголовку столбца и задать его размер.
Теперь щелкните по кнопке Готово, и процесс будет завершен. На экране появится окно с предложением сохранить созданную таблицу сейчас или позже (рис. 3.26), а на следующем рисунке (см. рис. 3.27) – и сама таблица, где следует нажать на стрелку прокрутки.
В результате в поле Фирмы появится столбец значений, в котором можно выбрать нужную строку.
Если же щелкнуть по кнопке Далее, то в конечном счете вы выйдете к той же таблице, но через две промежуточных стадии (на рисунках они не представлены).
На первом этапе следует назвать таблицу или согласиться с предлагаемым именем (мы уже знаем, что это всегда Таблица с каким-либо номером). На втором этапе Access поинтересуется, хотите ли вы перед выводом на экран итоговой таблицы запомнить исходную.
Рис. 3.26
Рис. 3.27
Подстановка в режиме таблицы
Сначала откройте в режиме просмотра таблицу, в которой надо создать поле подстановки. Для этого в окне базы данных либо воспользуйтесь кнопкой Открыть, либо дважды щелкните по имени нужной таблицы. В качестве исходной при этом рассматривается таблица, показанная на рис. 3.18.
Затем в меню Вставка окна базы данных следует отметить пункт Столбец подстановок. В результате на экране появится уже знакомое диалоговое окно мастера подстановок (см. рис. 3.20). После этого дальнейшие операции выполняются так же, как и в предыдущем разделе.
Все этапы данного процесса продемонстрированы на рис. 3.20-3.25.
Следующая глава
Источник: https://it.wikireading.ru/41767