Продолжаем осваивать Access, и сегодня мне бы хотелось поделиться с Вами одной маленькой, но иногда очень полезной хитрости при проектировании формы Access. А точнее данная хитрость касается выпадающего списка, поэтому сейчас мы займемся основами создания выпадающих списков на форме Access 2003.
Совсем недавно мы с Вами рассматривали небольшую хитрость (на самом деле просто возможности) в отчете Access, а конкретней как сгруппировать данные, а сегодня мы продолжим, но уже с выпадающим списком на форме. И начнем мы как обычно с небольшой теории.
Что такое выпадающий список в Access 2003
Если говорить точнее, то в access данный элемент управления называется «Поле со списком».
И он необходим, для того чтобы пользователь мог, не набирая на клавиатуре все значение целиком, выбрать его простым кликом мышки. Здесь имеется в виду, что эти значения будут распространенные, т.е. эти значения будут вводить достаточно часто и чтобы упростить и ускорить ввод этих данных и придумали выпадающий список. И если под итожить, то
Поле со списком – это набор значений (список), которые могут отобразиться на экране, для выбора, путем клика мышки по данном элементу управления, т.е. выпадающему списку.
Как создать выпадающий список
Для этого необходимо сначала создать форму, если она у Вас уже есть то это даже лучше, но для начинающих я повторюсь.
Открываем Access в режиме конструктора, выбираем «Формы» на окне объекты, и жмем создать
Затем нам предложат выбрать источник данных, но нам этого не нужно мы просто жмем «ОК»
Затем на панели элементов выбираем элемент «Поле со списком» и перетащим его на нашу форму, и сразу же в это время запустится мастер создания полей со списком.
На первом шаге нам предложат, выбрать способ получения данных, и для начала мы выберем «Фиксированный набор значений», в дальнейшем мы разберем, как можно использовать получения данных на основе запроса или таблицы. А пока жмем далее:
Затем необходимо ввести набор значений, которые будет содержать наш список. И здесь мне бы хотелось бы рассказать, что очень часто мы используем два столбца, т.е.
в первом храним идентификатор, а во втором само значение. Другим словами, чтобы не записывать в базу все значение целиком, мы записываем только идентификатор (например, для оптимизации размера базы данных).
Поэтому мы укажем 2 столбца, и заполним их следующим образом:
После того как Вы нажмете далее, Вы попадете на окно, в котором можно будет указать, какое поле (столбец) будет записываться в базу данных.
Здесь подразумевается, что если бы мы указали источник данных у нашей формы, то мы бы могли задать соответствующее поле, в которое записывалось выбранное значение из выпадающего списка, а так как в выбранном значении у нас хранится как бы два значения (два же столбца) здесь мы как раз указываем какое именно должно записывать в базу, как мы уже определились ранее, будим записывать идентификатор, т.е. первый столбец.
Вот в принципе и все, единственное на следующем шаге мы можем задать подпись нашего выпадающего списка и жмем «Готово»
В итоге у нас на форме будет отображено следующее
Надпись «Свободный» означает, что данному выпадающему списку не заданно не одно поле из источника данных, поэтому все, что мы выберем, никуда не запишется.
Теперь сохраняем форму, и запускам ее:
Мы видим, что при нажатии на выпадающий список, он раскрывается, и появляются значения, в виде двух столбцов как мы и указывали. И если мы выберем одно значение, то оно заполнится в поле, причем значение будет отображаться то, которое должно быть записано в это поле.
И вот тут начинаем прибегать к хитрости, о которой я упоминал в начале статьи.
Она заключается в следующем, когда мы нажимали на выпадающий список, у нас отображались два столбца, но согласитесь, зачем обычным пользователям видеть идентификаторы этих значений, и после того, когда мы выбрали значение, лучше чтобы отображалось описание этого значения, а не сам идентификатор, поэтому мы делаем вот что, мы просто делаем невидимым первый столбец с идентификатором. Это делается в свойствах «поля со списком» ширина столбцов. И первому столбу мы задаем значение 0см.
И теперь у нас все будет выглядеть как надо
Отображается второй столбец, а записывается в базу первый, т.е. идентификатор.
Ну и теперь вкратце, как и обещал, покажу, как задать список значений на основе запроса к базе данных. Не используя при этом ввод значений, так как все наши значения будут храниться в базе. Для этого давайте определимся с источником, пусть это будет таблица test_table, вот с таким данными, простой запрос select:
И теперь чтобы переделать наше поле со списком заходим в его свойства, переходим на вкладку «Данные» и меняем там «Тип источника строк» на «Таблица, представление, процедура» и «Источник строк» на запрос скажем вот такой
select id, name from test_table where priz = 0
- От себя я добавил условие where priz = 0 просто так чтобы Вы понимали, что эта таблица может использоваться для разных полей со списком.
- Больше ничего не меняем, просто сохраняем и запускаем нашу форму
- И теперь наш выпадающий список берет значения не из простого списка, а из базы данных.
Источник: https://info-comp.ru/obucheniest/365-drop-down-list-on-the-access.html
Создание и удаление поля подстановки
Создание поля подстановки не только делает данные более понятными, но и позволяет избежать ошибок данных, ограничивая значения, которые можно вводить. Поле подстановки может отображать понятное пользователю значение, связанное с другим значением в таблице исходных данных.
Например, вам нужно записать заказ клиента в таблице «Заказы». Однако все сведения о клиентах отслеживаются в таблице «Клиенты». Вы можете создать поле подстановки, отображающее сведения о клиенте в элементе управления «поле со списком» или «список».
Затем, когда вы выбираете клиента в этом элементе управления, в записи заказа сохраняется соответствующее значение, например значение первичного ключа клиента.
Примечание. В Access есть другие типы полей списков: поле списка значений, которое хранит только одно значение из допустимых, определенных в свойстве, и многозначное поле, в котором можно хранить до 100 значений, разделенных запятой (,). За дополнительной информацией обращайтесь к статьям Создание и удаление поля списка значений и Создание и удаление многозначного поля.
Поле подстановки — это поле таблицы, значение которого получено из другой таблицы или запроса. По возможности следует создавать поле подстановки с помощью мастера подстановок, который упрощает процесс, автоматически заполняя соответствующие свойства полей и создавая нужный тип связи между таблицами.
- Откройте таблицу в режиме Конструктор.
- В первой доступной пустой строке щелкните ячейку в столбце Имя поля и введите имя поля подстановки.
- В столбце Тип данных этой строки щелкните стрелку, а затем в раскрывающемся списке выберите пункт Мастер подстановок. Примечание. Мастер подстановок в зависимости от выбранных в нем настроек создает списки трех типов: поле подстановки, поле списка значений и многозначное поле.
- Внимательно следуйте указаниям мастера.
- На первой странице выберите вариант Объект «поле подстановки» получит значения из другой таблицы или другого запроса и нажмите кнопку Далее.
- На второй странице выберите таблицу или запрос со значениями и нажмите кнопку Далее.
- На третьей странице выберите одно или несколько полей и нажмите кнопку Далее.
- На четвертой странице выберите порядок сортировки для полей при отображении в списке и нажмите кнопку Далее.
- На пятой странице настройте ширину столбца, чтобы упростить чтение значений и нажмите кнопку Далее.
- На шестой странице при необходимости измените имя поля, установите флажок Включить проверку целостности данных, выберите вариант Каскадное удаление или Ограничить удаление и нажмите кнопку Готово. Дополнительные сведения о применении проверки целостности данных см. в статье Создание, изменение и удаление отношения.
- Сохраните изменения.
Поле подстановки предназначено для замены отображаемого числа, например ИД, более понятным значением, таким как имя. Например, вместо отображения идентификатора контакта Access может показать имя контакта. Идентификатор контакта является связанным значением. Оно автоматически ищется исходной таблице или запросе и заменяется именем контакта. Имя контакта является отображаемым значением.
Важно понимать разницу между отображаемым и связанным значением поля подстановки. Отображаемое значение автоматически выводится в режиме таблицы (по умолчанию). Тем не менее сохраняется именно связанное значение, использующееся в условиях запроса, а также приложением Access при связывании таблиц.
Ниже в примере поля подстановки «КомуНазначено»:
- Имя сотрудника является отображаемым значением
- ИД сотрудника является связанным значением, сохраняемым в свойстве Присоединенный столбец поля подстановки.
Если для создания поля подстановки используется мастер подстановок, его свойства задаете вы. Чтобы изменить структуру многозначного поля, укажите свойства Подстановки.
- Откройте таблицу в Конструкторе.
- Щелкните имя поля подстановки в столбце Имя поля.
- В разделе Свойства поля откройте вкладку Подстановка.
- Задайте свойству Тип элемента управления значение Поле со списком, чтобы видеть все доступные изменения свойств, отражающие ваш выбор. Дополнительные сведения см. в разделе Свойства поля подстановки.
Важно! При удалении поля подстановки, в котором содержатся данные, эти данные теряются без возможности восстановления, отменить это действие нельзя.
Поэтому перед удалением каких-либо полей или других компонентов базы данных создавайте резервную копию базы данных. Также удаление поля подстановки может быть запрещено, так как применяется проверка целостности данных.
Дополнительные сведения см. в статье Создание, изменение и удаление отношения.
- Откройте таблицу в режиме Режим таблицы.
- Найдите поле подстановки, щелкните правой кнопкой мыши строку заголовка и выберите команду Удалить поле.
- Нажмите кнопку Да, чтобы подтвердить удаление.
- Откройте таблицу в режиме Конструктор.
- Щелкните область выделения строки рядом с полем подстановки, а затем нажмите клавишу DELETE, либо щелкните правой кнопкой мыши область выделения строки и выберите команду Удалить строки.
- Нажмите кнопку Да, чтобы подтвердить удаление.
Тип элемента управления | Укажите это свойство, чтобы задать отображаемые свойства:
|
Тип источника строк | Определяет, откуда брать значения для поля подстановки: из другой таблицы или запроса либо из списка указанных вами значений. В качестве источника вы также можете выбрать имена полей таблицы или запроса. |
Источник строк | Указывает таблицу, запрос или список значений, из которых извлекаются значения для поля подстановки. Если свойство Тип источника строк имеет значение Таблица или запрос или Список полей, в этом свойстве должно быть указано имя таблицы или запроса либо инструкция SQL, представляющая запрос. Если свойство Тип источника строк имеет значение Список значений, это свойство должно содержать список значений, разделенных точками с запятой. |
Связанный столбец | Указывает столбец в источнике строк, в котором содержится значение, хранящееся в столбце подстановок. Может принимать любое значение в диапазоне между 1 и числом столбцов в источнике строк. Столбец, из которого извлекается значение, может отличаться от отображаемого столбца. |
Число столбцов | Определяет число столбцов в источнике строк, которые можно отобразить в поле подстановки. Чтобы выбрать столбцы для отображения, нужно задать ширину столбцов в свойстве Ширина столбцов. |
Заглавия столбцов | Определяет, нужно ли отображать заголовки столбцов. |
Ширина столбцов | Задает ширину каждого столбца. Отображаемое значение в поле подстановки — это один или несколько столбцов, для которых в свойстве Ширина столбцов указано значение, отличное от нуля. Если столбец не нужно отображать, например столбец «Код», укажите значение «0» для его ширины. |
Число строк списка | Определяет количество строк, отображаемых в поле подстановки. |
Ширина списка | Определяет ширину элемента управления, появляющегося при отображении поля подстановки. |
Ограничиться списком | Определяет возможность ввода значения, отсутствующего в списке. |
Разрешить несколько значений | Определяет возможность выбора нескольких значений в поле подстановки. Нельзя изменить значение этого свойства с «Да» на «Нет». |
Разрешить изменение списка значений | Определяет возможность редактирования элементов поля подстановки, основанного на списке значений. Если это свойство имеет значение Да, при щелчке правой кнопкой мыши поля подстановки, основанного на списке значений из одного столбца, в меню появится команда Изменение элементов списка. Если поле подстановки содержит несколько столбцов, это свойство игнорируется. |
Форма изменения элементов списка | Указывает существующую форму, используемую для изменения элементов списка в поле подстановки, основанном на таблице или запросе. |
Только значения источника строк | Показывает только значения, соответствующие текущему источнику строк, если свойство Разрешить несколько значений имеет значение Да. |
Источник: https://support.microsoft.com/ru-ru/help/304462/how-to-add-lookup-fields-in-a-microsoft-access-table
Как создать выпадающий список в Access
Понимание того, как настраивать типы полей, необходимо для создания чистых форм Access, которые просты в использовании. В Access вы вставляете выпадающие списки с помощью мастера Combo Box.
Этот мастер проведет вас через процесс вставки правильно отформатированного раскрывающегося списка в ваши формы без необходимости вводить какой-либо код вручную.
Давайте посмотрим, что волшебник сотворил свою магию.
Раскрывающийся список — это один из нескольких элементов визуальной формы, доступных в Access.credit: Ryan Putnam / iStock / Getty Images
Шаг 1
Щелкните правой кнопкой мыши форму на панели навигации и выберите «Представление« Дизайн »», чтобы переключиться в представление «Дизайн».
Перейдя в представление «Дизайн», перейдите на вкладку «Дизайн», а затем нажмите кнопку «Использовать мастер элементов управления» в группе «Элементы управления», чтобы активировать мастер элементов управления.
Вы узнаете, что мастер управления активен, когда кнопка меняет цвет.
Шаг 2
Щелкните значок инструмента «Поле со списком», который напоминает список со стрелками, бегущими по его правой стороне. Значок поля со списком находится на вкладке «Дизайн». Если вы не уверены, какой значок является правильным, наведите указатель мыши на каждый из них, пока не увидите маленькое всплывающее диалоговое окно с надписью «Поле со списком».
Шаг 3
Нажмите на место в вашей форме, где вы хотите вставить раскрывающийся список. Когда вы щелкнете по нужному местоположению, на экране появится мастер со списком.
Шаг 4
Нажмите переключатель «Я введу нужные значения», а затем нажмите кнопку «Далее».
Шаг 5
Щелкните поле «Количество столбцов» и введите количество столбцов в поле со списком. В большинстве раскрывающихся меню используется только один столбец, но если вы чувствуете себя немного странно, вы можете добавить столько столбцов, сколько захотите.
Шаг 6
Щелкните мышью в первом столбце и введите значения, которые вы хотите отобразить в раскрывающемся меню. Поместите одно значение в каждую строку в столбце. Если в вашем ящике есть несколько столбцов, перемещайтесь по каждому столбцу и вставляйте одно значение в строку. Нажмите кнопку «Далее», когда вы закончите ввод значений.
Шаг 7
Нажмите раскрывающееся меню «Сохранить это значение в этом поле» и выберите поле базы данных, в котором вы хотите сохранить раскрывающийся список пользователя. Нажмите «Далее» после того, как вы выбрали поле.
Шаг 8
Введите метку, которую хотите отображать рядом с раскрывающимся списком в форме. Например, если вы просите кого-нибудь выбрать своего любимого участника «Битлз», вы можете ввести «Любимый Битлз». Для простоты лучше использовать ту же метку, что и для обозначения соответствующего поля в базе данных.
Шаг 9
Нажмите «Готово», чтобы завершить создание раскрывающегося списка.
Источник: https://ru.computersm.com/37-how-to-create-a-drop-down-box-in-access-49744
Создание форм в Access
Создание форм для вашей базы данных может сделать ввод данных намного более удобным. Когда вы создаете форму, вы можете создать ее таким образом, чтобы она работала с вашей базой данных и имела смысл для вас.
На этом уроке вы узнаете, как создавать и изменять формы.
Вы также узнаете, как использовать параметры формы, такие как элементы управления дизайном и свойства формы, чтобы убедиться, что ваша форма работает именно так, как вы этого хотите.
Создание форм
Access упрощает создание формы из любой таблицы в вашей базе данных. Любая форма, которую вы создаете из таблицы, позволит вам просматривать данные, которые уже есть в этой таблице, и добавлять новые данные . После того, как вы создали форму, вы также можете изменить ее, добавив дополнительные поля и элементы управления дизайном, такие как комбинированные поля.
Чтобы создать форму:
- В панели навигации, выберите таблицу, которую нужно использовать, чтобы создать форму. Вам не нужно открывать таблицу.
- Выберите вкладку «Создать» на ленте и найдите группу «Формы». Нажмите команду «Форма».
- Ваша форма будет создана и открыта в виде макета.
- Чтобы сохранить форму, нажмите кнопку «Сохранить» на панели быстрого доступа. При появлении запроса введите имя для формы и нажмите «ОК».
О подформах
Если вы создали форму из таблицы, записи которой связаны с другой таблицей, ваша форма, вероятно, включает в себя подчиненную форму . Подформация представляет собой форму данных, которая отображает связанные записи в табличном формате. Например, подформация, включенная в форму «Клиенты», которую мы только что создали, отображает связанные заказы клиентов.
Вероятно, нам не нужно включать эту подформу, потому что мы просто хотим использовать форму «Клиенты» для ввода и просмотра контактной информации. Если вы обнаружите, что вам не нужна подформация, вы можете легко удалить ее. Просто нажмите его и нажмите клавишу «Удалить».
Однако подформы не всегда бесполезны. В зависимости от содержимого и источника вашей формы вы можете обнаружить, что подформат содержит полезную информацию, как в приведенном ниже примере. В нашей форме заказов подформат содержит имя, количество и цену каждого элемента, содержащегося в этом порядке, что является всей полезной информацией.
Добавление дополнительных полей в форму
Когда вы используете команду Form в существующей таблице, все поля из этой таблицы включены в эту форму. Однако, если позже вы добавите дополнительные поля в эту таблицу, эти поля автоматически не появятся в существующих формах. В подобных ситуациях вы можете добавить дополнительные поля в форму.
Чтобы добавить поле в форму:
- Перейдите на вкладку «Конструктор компоновки форм», затем найдите группу «Инструменты» в правой части ленты.
- Нажмите команду «Добавить существующие поля».
- Появится панель списка полей. Выберите поле или поля для добавления в форму.
Если вы хотите добавить поле из той же таблицы, которую вы использовали для создания формы, дважды щелкните имя нужного поля.
Чтобы добавить поле из другой таблицы:
- Нажмите «Показать все таблицы».
- Щелкните знак плюса + рядом с таблицей, содержащей поле, которое вы хотите добавить.
- Дважды щелкните нужное поле.
- Будет добавлено новое поле.
Вы также можете использовать описанную выше процедуру, чтобы добавить поля в совершенно пустую форму. Просто создайте форму, нажав команду «Пустая форма» на вкладке «Создать», а затем выполните указанные выше шаги, чтобы добавить нужные поля.
Добавление элементов управления дизайном
Элементы управления дизайном устанавливают ограничения для полей в ваших формах. Это поможет вам лучше контролировать, как данные вводятся в ваши формы, что, в свою очередь, помогает поддерживать целостность вашей базы данных.
Комбинированные поля
Выпадающий элемент является выпадающим списком, который можно использовать в форме вместо поля. Комбинированные поля ограничивают информацию, которую могут вводить пользователи, заставляя их выбирать только те параметры, которые вы указали.
Комбинированные поля полезны для полей, которые имеют ограниченное число возможных действительных ответов. Например, вы можете использовать поле со списком, чтобы люди только вводили действительное состояние США при вводе адреса или что они выбирают только продукты, которые уже существуют в вашей базе данных при размещении заказа.
Чтобы создать поле со списком:
- В представлении «Макет формы» выберите вкладку «Дизайн макета форм» и найдите группу «Элементы управления».
- Выберите команду Combo Box, которая выглядит как раскрывающийся список.
- Ваш курсор превратится в крошечный значок перекрестия и выпадающего списка. Переместите курсор в место, где вы хотите вставить поле со списком, затем нажмите. Появится желтая строка, указывающая место, где будет создано ваше поле со списком. В нашем примере, поле со списком будет расположен между в город поле и добавить в список рассылки.
- Появится диалоговое окно Combo Box Wizard . Выберите второй вариант, я наберу нужные значения и нажмите «Далее».
- Введите варианты, которые вы хотите отобразить в раскрывающемся списке. Каждый выбор должен быть в отдельности.В нашем примере мы создаем поле со списком для добавления в список рассылки? поле в нашей форме, поэтому мы введем все возможные допустимые ответы для этого поля. Пользователи смогут выбрать один из трех вариантов из готового комбинированного поля: Нет, Да-Еженедельно и Только специальные предложения.
- При необходимости измените размер столбца, чтобы весь текст был виден. После того, как вы удовлетворены своим списком, нажмите «Далее».
- Выберите магазин, что значение в этом поле, а затем нажмите на стрелку раскрывающегося списка и выберите в поле, где вы хотите выбор из комбо — поля для записи. После выбора нажмите «Далее».
- Введите метку или имя, которое будет отображаться рядом с вашим полем со списком. Как правило, рекомендуется использовать имя поля, которое вы выбрали на предыдущем шаге.
- Нажмите «Готово» Ваше поле со списком появится в форме. Если вы создали свое поле со списком для замены существующего поля, удалите первое поле. В нашем примере вы можете заметить, что теперь у нас есть два поля с тем же именем. Эти два поля отправляют информацию в одно и то же место, поэтому мы не нуждаемся в них обоих. Мы удалим его без поля со списком.
- Перейдите в режим просмотра формы, чтобы протестировать поле со списком. Просто нажмите стрелку раскрывающегося списка и убедитесь, что список содержит правильные варианты. Теперь поле со списком можно использовать для ввода данных.
Если вы хотите включить раскрывающийся список с длинным списком параметров и не хотите вводить их все, создайте поле со списком и выберите первый вариант в мастере со списком, я хочу получить значения из другой таблицы или запроса. Это позволит вам создать раскрывающийся список из поля таблицы.
Некоторые пользователи сообщают, что Access работает при работе с формами. Если у вас возникла проблема с выполнением любой из этих задач в представлении «Макет», попробуйте переключиться на «Дизайн».
Настройка параметров формы в Листе свойств
Лист свойств — это панель, содержащая подробную информацию о вашей форме и каждом ее компоненте.
Из листа свойств вы можете вносить изменения в каждую часть своей формы, как с точки зрения функции, так и внешнего вида.
Лучший способ ознакомиться с Листом свойств — открыть его и выбрать различные варианты.
При выборе опции Access будет отображать краткое описание этой опции на нижней левой границы окна программы.
Изменение настроек формы
В Листе свойств слишком много вариантов, чтобы подробно обсудить их все. Мы рассмотрим два полезных здесь: скрытие полей и установление полей с датами для автоматического заполнения текущей даты . Практика этих процедур должна дать вам представление о том, как работать с другими настройками свойств.
Чтобы скрыть поле:
- В представлении «Макет» или «Дизайн» выберите вкладку «Дизайн» и найдите группу «Инструменты». Щелкните команду Property Sheet.
- Лист свойств появится на панели справа. В форме выберите поле, которое вы хотите скрыть. В нашем примере мы скроем поле идентификатора клиента, потому что мы не хотим, чтобы кто-либо из наших пользователей редактировал его.
- В Листе свойств перейдите на вкладку «Формат» и найдите параметр «Видимый» в третьей строке.
- Нажмите стрелку раскрывающегося списка в столбце справа, затем выберите Нет.
- Перейдите к виду формы, чтобы убедиться, что поле скрыто.
Чтобы задать автоматическое заполнение поля текущей датой:
- В представлении «Макет» или «Дизайн» выберите вкладку «Дизайн» и найдите группу «Инструменты». Щелкните команду Property Sheet.
- Лист свойств появится на панели справа. В форме выберите поле, которое вы хотите автоматически заполнить в текущую дату. Это должно быть поле с типом данных даты. В нашем примере мы выберем поле «Дата отправки» в нашей форме «Заказы».
- В Листе свойств перейдите на вкладку «Данные» и выберите поле «Значение по умолчанию» в четвертой строке. Нажмите кнопку «Создатель выражений», которая отображается в столбце справа.
- Откроется диалоговое окно «Конструктор выражений». В списке Элементы выражения выберите слова «Общие выражения».
- В списке категорий выражений дважды щелкните текущую дату.
- Будет добавлено выражение для текущей даты. Нажмите «ОК».
- Перейдите в режим просмотра формы, чтобы убедиться, что это выражение работает. При создании в новую запись с этой формой, поле даты вы изменяли будет автоматически заполнять текущую дату.
Источник: https://maxfad.ru/ofis/ms-access/465-sozdanie-form-v-access.html