Выпадающий список на форме Access 2003

Выпадающий список на форме Access 2003

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

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

Что такое выпадающий список в Access 2003

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

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

Как создать выпадающий список

Для этого необходимо сначала создать форму, если она у Вас уже есть то это даже лучше, но для начинающих я повторюсь.

Открываем Access в режиме конструктора, выбираем «Формы» на окне объекты, и жмем создать

Затем нам предложат выбрать источник данных, но нам этого не нужно мы просто жмем «ОК»

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

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

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

Вот в принципе и все, единственное на следующем шаге мы можем задать подпись нашего выпадающего списка и жмем «Готово»

В итоге у нас на форме будет отображено следующее

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

Теперь сохраняем форму, и запускам ее:

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

И вот тут начинаем прибегать к хитрости, о которой я упоминал в начале статьи. Она заключается в следующем, когда мы нажимали на выпадающий список, у нас отображались два столбца, но согласитесь, зачем обычным пользователям видеть идентификаторы этих значений, и после того, когда мы выбрали значение, лучше чтобы отображалось описание этого значения, а не сам идентификатор, поэтому мы делаем вот что, мы просто делаем невидимым первый столбец с идентификатором. Это делается в свойствах «поля со списком» ширина столбцов. И первому столбу мы задаем значение 0см.

И теперь у нас все будет выглядеть как надо

Отображается второй столбец, а записывается в базу первый, т.е. идентификатор.

Ну и теперь вкратце, как и обещал, покажу, как задать список значений на основе запроса к базе данных. Не используя при этом ввод значений, так как все наши значения будут храниться в базе. Для этого давайте определимся с источником, пусть это будет таблица test_table, вот с таким данными, простой запрос select:

И теперь чтобы переделать наше поле со списком заходим в его свойства, переходим на вкладку «Данные» и меняем там «Тип источника строк» на «Таблица, представление, процедура» и «Источник строк» на запрос скажем вот такой

От себя я добавил условие where priz = 0 просто так чтобы Вы понимали, что эта таблица может использоваться для разных полей со списком.

Больше ничего не меняем, просто сохраняем и запускаем нашу форму

И теперь наш выпадающий список берет значения не из простого списка, а из базы данных.

С выпадающими списками Вы теперь знакомы, и знаете даже небольшие хитрости, которые помогут Вам в реализации Ваших задач. Удачи!

Источник:
http://info-comp.ru/obucheniest/365-drop-down-list-on-the-access.html

Как в access сделать выпадающий список в запросе?

Поле со списком в access может стать полем для поиска. Поисковое поле со списком в Access может сильно облегчить вам работу с данными.

Существует несколько способов создания поискового поля, самый распространённый из них – при помощи мастера для элемента управления «Поле со списком».

Рассмотрим способ создания поля для поиска вручную. В режиме конструктора формы добавим свободное поле в примечание формы (кнопка «Мастера» должна быть отжата):

Зададим следующие свойства для свободного поля «ПолеПоиск» (для этого надо выделить его в режиме конструктора и нажать клавишу F4):

Перейдём на вкладку «Данные» свойств поля со списком. Значения свойства «Данные» оставим пустым. В «Источнике строк» мы выбираем подстановку из поля «ФИО» базового запроса «зап_СписокДляФормы» (этот же запрос «даёт» данные для текущей формы и поле «ФИО» запроса является базовым для поля «ФИО» формы). Свойства «Ограничиться списком», «Автоподстановка» и «Доступ» принимают значение «да».

На вкладке «События» определяем для свойства «После обновления» макрос «МакросПоиск».

Макрос состоит всего из двух команд:

Форма с полем для поиска готова. Для того, чтобы найти нужную нам запись с конкретным человеком, надо щёлкнуть мышкой внутри поля поиска. Потом можно вводить фамилию, имя и отчество.

По мере введения символов программа будет автоматически предлагать подходящие записи. Когда выбрана нужная запись, можно нажать клавишу «Enter» или «Tab». Курсор будет автоматически переведён в область данных формы на нужную запись.

Теперь нажимаем «Enter» или «Tab» и фокус ввода перейдёт на нужную нам запись в область данных формы:

Поле со списком access – составной элемент управления, объединяющий поле и раскрывающийся список, позволяющий не только выбирать (как в простом списке), но и вводить значения.

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

Открывается список нажатием на кнопке
(в правом углу элемента управления «Поле со списком access») или клавишами Alt+«стрелка вниз». При помощи простого макроса можно сделать так, чтобы поле со списком раскрывалось само при входе в него.

Чтобы ввести значение в поле со списком access, можно начать вводить значение в поле с клавиатуры или выбрать нужное значение в выпадающем списке. При вводе значений с клавиатуры помогает свойство «Автоподстановка». Если установить его как «да», то при вводе информации Access автоматически будет предлагать значения из списка, выделяя буквы предлагаемого значения после последнего введённого символа.

Обилие всяких кнопочек и настроек может постоянно сбивать вас с толку. Также может появиться страх при первом открытии программы.

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

Например, слово «детектив» в поле «литературный жанр» можно написать «детиктив» или «дитиктив», или ещё как-нибудь (неважно, опечатка это или следствие неграмотности оператора. Любой человек может ошибаться и даже имеет на это право).

Поле, содержащее такие значения, уже нельзя правильно ни отсортировать, ни использовать в запросе. Мы зададим запрос с фильтром Like «детектив» и запрос найдёт нам, предположим, 120 книг этого жанра. Но вследствие неправильного ввода информации запрос «не увидел», к примеру, 8 книг.

Читайте также  Создание запросов на добавление данных

Такая ситуация просто недопустима. Гораздо проще один раз и в одном месте (в базовой таблице подстановки) правильно ввести название жанра и связать эту запись с полем подстановки в таблице поставок книг отношением «один-ко-многим» (можно и не связывать. Но этот вопрос не представляется возможным обсудить в пределах одной статьи, так как слишком много завязано вопросов с типами полей, связями и др.).

Другой вопрос состоит в том, стоит ли разрешать оператору добавлять новые значения в базовую таблицу подстановки (со стороны «один»). Всё зависит от конкретных задач и типа информации. Не всегда можно предугадать все возможные варианты для значений поля подстановки. Например, поле подстановки для указания пола сотрудника может принимать два значения: «мужской» и «женский». А вот попробуйте создать поле подстановки мужских или женских имён (например, мужские имена: Андрей, Андриан, Андрон, Анджей и т. д.; женские имена: Наталья, Наталия, Наталея, Натали и т. д.).

Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе?

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

Во-вторых, схожие имена будут «рябить» перед глазами (могут быть десятки очень похожих имён, отличающихся только одной буквой).

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

К тому же оно чаще всего используется в инициалах. Например, я ввёл значение «Иванов Андриан Иванович», хотя имя человека «Андрей». В поле «ФИО» получим «Иванов А. И.». Вроде как и ошибки нет.)

Создаётся поле со списком access, как правило, в режиме конструктора объекта базы данных:

— в таблицах – в области «Свойства поля» на вкладке «Подстановка» есть такой аргумент «Тип элемента управления» с выпадающим списком. Выбираем значение «Поле со списком» и выбираем следующие аргументы: тип источника строк, сам базовый источник строк, номер присоединённого столбца и другие необходимые элементы;

— в формах — при помощи кнопки «Поле со списком» на панели элементов. Если создаём новое поле со списком из базового поля со списком в таблице, то можно просто перенести это поле на форму (отчёт) из окошка «Список полей». Все базовые свойства будут унаследованы новым элементом управления.

Список в отличие от поля со списком всегда открыт и содержит все значения, которые можно выбрать. Если список отображается не полностью, с помощью полос прокрутки можно выбрать нужное значение. Поле, список и поле со списком можно взаимно преобразовывать друг в друга (когда мы ошибочно создали не тот элемент управления. Например, поле вместо поля со списком).

В приведённом ниже примере при выборе города в поле со списком автоматически загружаются в подчинённую форму записи, относящиеся к этому городу (т. е. мы видим, кто стоит на учёте в г. Щёлково).

При создании списка или поля со списком можно брать значения из таблицы или запроса (присоединённый элемент) либо ввести вручную как набор значений (свободный элемент).

Можно создать выражение, которое ссылается на отдельный столбец списка поля со списком или списка. Для этого используем свойство Столбец этого элемента управления:

forms!’.(x). Например: forms. (1)

х – номер столбца. Столбцы начинают нумерацию с нуля.

При вычислении номера видимого столбца надо принимать в расчет и невидимые столбцы.

Источник:
http://word-office.ru/kak-v-access-sdelat-vypadayuschiy-spisok-v-zaprose.html

Как в access сделать выпадающий список в запросе?

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

Конструирование запросов на выборку с условиями отбора

Рассмотрим запросы на выборку в Access на примере получения информации из таблицы ТОВАР базы данных Поставка товаров.

Задача 1. Пусть необходимо выбрать ряд характеристик товара по его наименованию.

  1. Для создания запроса в окне базы данных выберите вкладку ленты — Создание (Create) и в группе Запросы (Queries) нажмите кнопку Конструктор запросов (Query Design). Откроется пустое окно запроса на выборку в режиме конструктора — ЗапросN (QueryN) и диалоговое окно Добавление таблицы (Show Table) (рис. 4.2).
  2. В окне Добавление таблицы (Show Table) выберите таблицу ТОВАР и нажмите кнопку Добавить (Add). Выбранная таблица будет отображена в области схемы данных запроса. Закройте окно Добавление таблицы (Show Table), нажав кнопку Закрыть (Close).

В результате выполненных действий в окне конструктора запросов (рис. 4.1) в верхней панели появится схема данных запроса, которая включает выбранные для данного запроса таблицы. В данном случае одну таблицу ТОВАР. Таблица представлена списком полей. Первая строка в списке полей таблицы, отмеченная звездочкой (*), обозначает все множество полей таблицы. Нижняя панель является бланком запроса, который нужно заполнить.

Кроме того, на ленте появляется и автоматически активизируется новая вкладка Работа с запросами | Конструктор (Query Tools | Design) (на рис. 4.3 представлена на часть этой вкладки), на которой цветом выделен тип созданного запроса — Выборка (Select). Таким образом, по умолчанию всегда создается запрос на выборку. Команды этой вкладки представляют инструментарий для выполнения необходимых действий при создании запроса. Эта вкладка открывается, когда в режиме конструктора создается новый запрос или редактируется существующий.

  1. Для удаления любой таблицы из схемы данных запроса установите на нее курсор мыши и нажмите клавишу . Для добавления ― нажмите кнопку Отобразить таблицу ( Show Table) в группе Настройка запроса (Query Setup) на вкладке Работа с запросами | Конструктор (Query Tools | Design) или выполните команду Добавить таблицу (Show Table) в контекстном меню, вызываемом на схеме данных запроса.
  2. В окне конструктора (рис. 4.4) последовательно перетащите из списка полей таблицы ТОВАР поля НАИМ_ТОВ, ЦЕНА, НАЛИЧИЕ_ТОВ в столбцы бланка запроса в строку Поле (Field).
  3. Для включения нужных полей из таблицы в соответствующие столбцы запроса можно воспользоваться следующими приемами:
    • в первой строке бланка запроса Поле (Field) щелчком мыши вызвать появление кнопки списка и выбрать из списка нужное поле. Список содержит поля таблиц, представленных в схеме данных запроса;
    • дважды щелкнуть на имени поля таблицы в схеме данных запроса;
    • для включения всех полей таблицы можно перетащить или дважды щелкнуть на символе * (звездочка) в списке полей таблицы в схеме данных запроса.
  4. Если вы по ошибке перетащили в бланке запроса ненужное поле, удалите его. Для этого переместите курсор в область маркировки столбца сверху, где он примет вид черной стрелки, направленной вниз, и щелкните кнопкой мыши. Столбец выделится. Нажмите клавишу или выполните команду Удалить столбцы (Delete Columns) в группе Настройка запроса (Query Setup).
  5. В строке Вывод на экран (Show) отметьте поля, иначе они не будут включены в таблицу запроса.
  6. Запишите в строке Условия отбора (Criteria) наименование товара, как показа-но в бланке запроса на рис. 4.4. Так как выражение в условии отбора не содержит оператора, то по умолчанию используется оператор =. Используемое в выражении текстовое значение вводится в двойных кавычках, которые добавляются автоматически.
  7. Выполните запрос, щелкнув на кнопке Выполнить (Run) или на кнопке Режим (View) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записью из таблицы ТОВАР, отвечающей заданным условиям отбора.

  1. Если при вводе сложного наименования товара вы допустили неточность, товар не будет найден в таблице. Использование операторов шаблона — звездочка (*) и вопросительный знак (?) (стандарт ANSI-89, используемый для запросов по умолчанию) или знак процента (%) и подчеркивания (_) (ANSI-92, рекомендуемый как стандарт для SQL Server), упрощает поиск нужных строк и позволяет избежать многих ошибок. Введите вместо полного имени товара Корпус* или Корпус%. Выполните запрос. Если в поле наименования товара одно значение начинается со слова «Корпус», результат выполнения запроса будет таким же, как в предыдущем случае. После выполнения запроса введенное выражение будет дополнено оператором Like «Корпус*». Этот оператор позволяет использовать символы шаблона при поиске в текстовых полях.
  2. Если необходимо найти несколько товаров, используйте оператор In. Он позволяет выполнить проверку на равенство любому значению из списка, который задается в круглых скобках. Запишите в строке условий отбора In («Корпуc MiniTower»;»HDD Maxtor 20GB»;»FDD 3,5″). В таблице запроса будет выведено три строки. В операторе In не допускается использование символов шаблона.
  • Сохраните запрос, щелкнув на вкладке Файл (File) и выполнив команду Сохранить (Save). В окне Сохранение (Save As) введите имя запроса Пример1. Заметим, что имя запроса не должно совпадать не только с именами имеющихся запросов, но и с именами таблиц в базе данных.
  • Закройте текущий запрос по команде контекстного меню Закрыть (Close) или нажав кнопку окна запроса Закрыть (Close).
  • Выполните сохраненный запрос, выделив запрос в области навигации и выбрав в контекстном меню команду Открыть (Open).
  • Для редактирования запроса выделите его в области навигации и выполните в контекстном меню команду Конструктор (Design View).
  • Читайте также  Арчи Гудвин: Форма входа (MS Access) - MS Office и VBA, Специализированные блоги

    Задача 2. Пусть надо выбрать товары, цена которых не более 1000 руб., и НДС не более 10%, а также выбрать товары, цена которых более 2500 руб. Результат должен содержать наименование товара (НАИМ_ТОВ), его цену (ЦЕНА) и НДС (СТАВКА_НДС).

    1. Создайте новый запрос в режиме конструктора, добавьте таблицу ТОВАР. В окне конструктора (рис. 4.5) последовательно перетащите из списка полей таблицы ТОВАР в бланк запроса поля НАИМ_ТОВ, ЦЕНА, СТАВКА_НДС.
    2. Запишите Условия отбора (Criteria), как показано в бланке запроса на рис. 4.5. Между условиями, записанными в одной строке, выполняется логическая операция AND. Между условиями, записанными в разных строках, выполняется логическая операция OR.
    3. Выполните запрос, щелкните на кнопке Выполнить (Run) в группе Результаты (Results). На экране появится окно запроса в режиме таблицы с записями из таблицы ТОВАР, отвечающими заданным условиям отбора.
    4. Сохраните запрос, выполнив соответствующую команду в контекстном меню запроса, которое вызывается при установке курсора на заголовок запроса. Дайте ему имя Пример2.

    Задача 3. Пусть надо выбрать все накладные за заданный период. Результат должен содержать номер накладной (НОМ_НАК), код склада (КОД_СК), дату отгрузки (ДАТА_ОТГР) и общую стоимость отгруженного товара (СУММА_НАКЛ).

    1. Создайте новый запрос в режиме конструктора, добавьте таблицу НАКЛАДНАЯ. В окне конструктора последовательно перетащите из списка полей таблицы НАКЛАДНАЯ в бланк запроса все необходимые поля.
    2. Для поля ДАТА_ОТГР в строке Условия отбора (Criteria) запишите Between #11.01.2008# And #31.03.2008#. Оператор Between задает интервал дат (в ANSI-92 вместо знака # используются одинарные кавычки ‘). Кроме того, этот оператор позволяет задать интервал для числового значения.

    Для закрепления смотрим видеоурок:

    Источник:
    http://accesshelp.ru/zaprosy-na-vyborku-v-access/

    Выпадающий список параметрического запроса

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

    и второй вопрос..
    есть запрос на удаление данных..
    называется «Коррекция: удаление данных о реализации за прошлый год»..
    сделал запуск этого запроса через макрос..
    и вынес на форму «Запросы»..
    но почему то оттуда не запускается..
    каким образом можно разрешить этот вопрос.
    вылетает ошибка о невозможности выполнения запроса..
    т.к. не задана таблица.. но прост о заброс работает..

    Создание параметрического запроса
    есть таблица нужно создать параметрический запрос с выборкой параметра. например:нужно ввести.

    Вызов параметрического запроса кнопкой
    Помогите ублажить юзеров! У меня больные лежат в реанимациях, а юзеры-реаниматологи хотят.

    Вызов из формы параметрического запроса
    Друзья, возникла небольшая проблема. Делаю в базе небольшую лабораторную и столкнулся с тем, что.

    Создание параметрического запроса с выпадающим списком
    Опишите пжл подробно каким образом можно создать параметрический запрос, чтобы при его запуске в.

    И Вам доброго времени суток

    по этому примеру мы удаляем все записи год которых меньше текущего (по системе)

    И Вам доброго времени суток

    для выполнения запроса на удаление необходимо указать 1 таблицу, откуда Вы собрались удалять записи.
    т.е. запрос SQL будет выглядеть так:

    по этому примеру мы удаляем все записи год которых меньше текущего (по системе)

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

    Спасибо большое..
    с sql буду пытаться понять.. с этим пробле в знаниях.. изза смены преподавателей..

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

    читал что это можно сделать через групповые операции.. это так.

    1. создаем пустой запрос (через конструктор)
    2. переходим в режим sql (для Access 2003 ужо не помню как, кажись по нажатию правой кнопки в конструкторе, в 2007 снизу в правом углу написано мелким шрифтом, достаточно просто кликнуть на слово)
    3. копируем то что я Вам «навоял»
    4. сохраняем, закрываем, выполняем (запросы на обновление, добавление, удаление выполняются в фоновом режиме) рекомендую в параметрах базы поставить флажок «спрашивать перед выполнением запросов на удаление у пользователя»

    1. на Вашей форме делаем поле со списком (форма «Запросы»)
    2.1. поле свойств «Данные» или «Control Source» оставляем пустым
    2.2. поле свойств «Источник строк» или «RowSource» указываем запрос (предположим: СПИСОК_ТОВАРОВ)
    он состоит из КОД_ТОВАРА и НАЗВАНИЯ_ТОВАРА
    2.3. поле свойств «Число столбцов» или «ColumnCount» пишем 2
    2.4. поле свойств «ширина столбцов» или «ColumnWidths» пишем 0;7
    3.1. в запросе «Поиск: сведения о товаре по названию XX» добавляем поле КОД_ТОВАРА условие отбора пишем Forms![Запросы]![ПолеСоСписком1] (т.е. Ваше название элемента поле со списком)
    3.2. удаляем все остальные условия отбора ([Введите назваиние товара]) сохраняем.

    Совет!
    Если надо выводить единственное значение на VBA можно прописать процедуру блокирующую кнопку «Поиск: сведения о товаре по названию XX» если значение поля со списком NULL

    Спасибо с sql все получилось..
    вот только со списком что-то никак..
    вот попробовал все сделать по пунктам, если можешь посмотри пожалуйста, что получилось..

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

    Уважаемый terchik если по сути говорить, то:

    Использование параметров в запросах и отчетах
    Показать всеСкрыть всеЗапросы предназначены для работы только с полями таблицы, которые относятся к выполняемой задаче. Если необходимо дополнительно ограничить данные на основе значений, содержащихся в полях, в запросах следует использовать условия. Эти правила определяют, какие значения должны содержать поля или каким образцам они должны соответствовать, чтобы их возвращал запрос.

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

    элементы управления, предназначенные для определенных типов данных;
    сохранение значений параметров;
    поля со списком (которые позволяют выбрать значение из списка, а не вводить его);
    другие доступные управляющие элементы.

    Источник:
    http://www.cyberforum.ru/ms-access/thread181454.html

    Как в access сделать выпадающий список в запросе?

    Поле со списком позволяет выбирать значение из перечня предложенных вариантов, а не делать это вручную. Эти элементы управления очень удобны при необходимости указания часто повторяющихся значений. Например, если книги в магазине разделены по тематике или жанру на 10-15 разделов, то при добавлении новой книги в базу, эти значения необходимо постоянно указывать для каждой записи. Проще создать таблицу Разделы, содержащую поле код раздела (счетчик) и название раздела (текстовое поле). Туда будут заносится все доступные разделы. Это будет выполняться всего один раз, при наполнении таблицы. Затем на форме, предназначенной для добавления новой книги, можно разместить раскрывающийся список, содержащий все названия разделов, перечисленные в таблице Разделы. При выборе одного из возможных вариантов, код выбранного раздела будет добавляться в таблицу Книги, в поле КодРаздела. Таким образом экономится время и достигается максимальное удобство при заполнении формы. Дополнительно это позволяет добавлять новые разделы, без оповещения всех работающих с базой о таком нововведении. Они просто увидят название нового раздела в списке, при следующем сеансе работы с базой данных.

    Для создания раскрывающегося списка воспользуемся соответствующей кнопкой на панели элементов в окне конструктора формы. Указатель, попадая в активную область формы, изменится на символ поля со списком, с маленьким крестиком для выделения области под список. Определите место на форме, где будет располагаться этот элемент, и отпустите кнопку мыши. При этом произойдет активация мастера полей со списком, работа которого происходит в несколько этапов.

      Этап первый — выбор источника. В этом окне необходимо указать, откуда будут поступать значения отображаемые в списке. Нас интересует пункт: поле со списком использует значения из таблицы или запроса (он выбран по умолчанию). Это удовлетворяет поставленной задаче, поэтому нажимаем Далее.

    Читайте также  Как сделать форму поиска в access?

    Этап второй — связь с таблицей или запросом источником значений. Здесь необходимо выбрать из списка таблицу, на основании полей которой будет формироваться раскрывающийся список. С помощью трех переключателей в блоке Показать, можно настроить список на отображение интересующих нас объектов.

    Этап третий — выбор отображаемых полей. С таким выбором мы уже сталкивались при создании формы в «Шаг 13 — Создаем первую форму». Выберите из списка доступных полей нужные и нажмите Далее.

    Этап четвертый — выбор ширины столбцов. Если выбрано два и более поля для отображения, то здесь можно отрегулировать их ширину. Методы работы точно такие, как в режиме конструктора. Двойной щелчок на границе разделения полей приводит к авто подбору ширины, по данным содержащимся в поле. Расположенная в окне галочка позволяет скрыть ключевое поле. Это делается, если информация в нем не должна быть доступна пользователю.

    Этап пятый — указание получателя выбранного значения. При выборе значения из раскрывающегося списка, оно остается в поле, после закрытия полного списка. Сейчас определяется судьба этого значения. Для сохранения его в поле КодРаздела таблицы Книги (указанной при запуске конструктора формы), необходимо выбрать пункт Сохранить в поле и выбрать одно из доступных полей в списке.

    Этап шестой — редактирование присоединенной надписи. Тут можно указать текст надписи выводимой рядом с выпадающим списком и завершить работу мастера, нажатием кнопки Готово.

    Результатом проделанной работы станет появление не форме выпадающего списка. Его работоспособность можно проверить в режиме заполнения формы. Внешнее оформление элемента настраивается под свой вкус с помощью панели форматирования (см. «Шаг 15 — Надписи на форме»).

    Источник:
    http://firststeps.ru/msoffice/access/r.php?17

    Как в аксессе сделать выпадающий список

    Поле со списком access

    Поле со списком access – составной элемент управления, объединяющий поле и раскрывающийся список, позволяющий не только выбирать (как в простом списке), но и вводить значения.

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

    Открывается список нажатием на кнопке
    (в правом углу элемента управления «Поле со списком access») или клавишами Alt+«стрелка вниз». При помощи простого макроса можно сделать так, чтобы поле со списком раскрывалось само при входе в него.

    Чтобы ввести значение в поле со списком access, можно начать вводить значение в поле с клавиатуры или выбрать нужное значение в выпадающем списке. При вводе значений с клавиатуры помогает свойство «Автоподстановка». Если установить его как «да», то при вводе информации Access автоматически будет предлагать значения из списка, выделяя буквы предлагаемого значения после последнего введённого символа.

    Обилие всяких кнопочек и настроек может постоянно сбивать вас с толку. Также может появиться страх при первом открытии программы.

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

    Например, слово «детектив» в поле «литературный жанр» можно написать «детиктив» или «дитиктив», или ещё как-нибудь (неважно, опечатка это или следствие неграмотности оператора. Любой человек может ошибаться и даже имеет на это право).

    Поле, содержащее такие значения, уже нельзя правильно ни отсортировать, ни использовать в запросе. Мы зададим запрос с фильтром Like «детектив» и запрос найдёт нам, предположим, 120 книг этого жанра. Но вследствие неправильного ввода информации запрос «не увидел», к примеру, 8 книг.

    Такая ситуация просто недопустима. Гораздо проще один раз и в одном месте (в базовой таблице подстановки) правильно ввести название жанра и связать эту запись с полем подстановки в таблице поставок книг отношением «один-ко-многим» (можно и не связывать. Но этот вопрос не представляется возможным обсудить в пределах одной статьи, так как слишком много завязано вопросов с типами полей, связями и др.).

    Другой вопрос состоит в том, стоит ли разрешать оператору добавлять новые значения в базовую таблицу подстановки (со стороны «один»). Всё зависит от конкретных задач и типа информации. Не всегда можно предугадать все возможные варианты для значений поля подстановки. Например, поле подстановки для указания пола сотрудника может принимать два значения: «мужской» и «женский». А вот попробуйте создать поле подстановки мужских или женских имён (например, мужские имена: Андрей, Андриан, Андрон, Анджей и т. д.; женские имена: Наталья, Наталия, Наталея, Натали и т. д.).

    Аксесс довольно сложная программа. Это подтверждает тот факт, что в интернете можно найти массу информации по ней. Однако, вы знаете что на самом деле достаточно знать лишь 20% инструментов, чтобы создавать и настраивать 80% баз данных в программе?

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

    Во-вторых, схожие имена будут «рябить» перед глазами (могут быть десятки очень похожих имён, отличающихся только одной буквой).

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

    К тому же оно чаще всего используется в инициалах. Например, я ввёл значение «Иванов Андриан Иванович», хотя имя человека «Андрей». В поле «ФИО» получим «Иванов А. И.». Вроде как и ошибки нет.)

    Создаётся поле со списком access, как правило, в режиме конструктора объекта базы данных:

    — в таблицах – в области «Свойства поля» на вкладке «Подстановка» есть такой аргумент «Тип элемента управления» с выпадающим списком. Выбираем значение «Поле со списком» и выбираем следующие аргументы: тип источника строк, сам базовый источник строк, номер присоединённого столбца и другие необходимые элементы;

    — в формах — при помощи кнопки «Поле со списком» на панели элементов. Если создаём новое поле со списком из базового поля со списком в таблице, то можно просто перенести это поле на форму (отчёт) из окошка «Список полей». Все базовые свойства будут унаследованы новым элементом управления.

    Список в отличие от поля со списком всегда открыт и содержит все значения, которые можно выбрать. Если список отображается не полностью, с помощью полос прокрутки можно выбрать нужное значение. Поле, список и поле со списком можно взаимно преобразовывать друг в друга (когда мы ошибочно создали не тот элемент управления. Например, поле вместо поля со списком).

    В приведённом ниже примере при выборе города в поле со списком автоматически загружаются в подчинённую форму записи, относящиеся к этому городу (т. е. мы видим, кто стоит на учёте в г. Щёлково).

    При создании списка или поля со списком можно брать значения из таблицы или запроса (присоединённый элемент) либо ввести вручную как набор значений (свободный элемент).

    Можно создать выражение, которое ссылается на отдельный столбец списка поля со списком или списка. Для этого используем свойство Столбец этого элемента управления:

    forms![ИмяФормы]'[Имя поля со списком].[Column](x). Например: forms![Типы]![НазваниеТипа].[Column](1)

    х – номер столбца. Столбцы начинают нумерацию с нуля.

    При вычислении номера видимого столбца надо принимать в расчет и невидимые столбцы.

    Выпадающий список в форме

    Добрый день! Прошу помочь создать специфичный выпадающий список в форме persons, список место_проживание_страна уже создан, а список место_проживание_город надо создать таким образом, чтобы в нем появлялись только города уже выбраной страны. Все информация касающаяся городов и стран в таблице страна_город.

    Нельзя использовать Visual Basic, а только встроенные макросы.
    web2.rar

    Выпадающий список в подчинённой форме
    Уважаемые форумчане! Нужен совет по такому вопросу. Есть форма для ввода данных. На этой форме.

    Как сделать выпадающий список на форме
    на форме инспектор по контролю как можно сделать выпадающий список на фамилию, просто фамилий там.

    Зависимый выпадающий список в подчиненной форме
    Добрый день! Помогите с решением проблемы. Имеется 2 формы с выпадающими зависимыми списками. 1.

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

    Источник:
    http://polytech-soft.com/access/kak-v-aksesse-sdelat-vypadayushhij-spisok.html