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


Создание форм в Access

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

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

 

Создание форм

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

Чтобы создать форму:

  1. В панели навигации, выберите таблицу, которую нужно использовать, чтобы создать форму. Вам не нужно открывать таблицу.
  2. Выберите вкладку «Создать» на ленте и найдите группу «Формы». Нажмите команду «Форма».
  3. Ваша форма будет создана и открыта в виде макета.
  4. Чтобы сохранить форму, нажмите кнопку «Сохранить» на панели быстрого доступа. При появлении запроса введите имя для формы и нажмите «ОК».

О подформах

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

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

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

Добавление дополнительных полей в форму

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

Чтобы добавить поле в форму:

  1. Перейдите на вкладку «Конструктор компоновки форм», затем найдите группу «Инструменты» в правой части ленты.
  2. Нажмите команду «Добавить существующие поля».
  3. Появится панель списка полей. Выберите поле или поля для добавления в форму.

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

Чтобы добавить поле из другой таблицы:

  1. Нажмите «Показать все таблицы».
  2. Щелкните знак плюса + рядом с таблицей, содержащей поле, которое вы хотите добавить.
  3. Дважды щелкните нужное поле.
  4. Будет добавлено новое поле.

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

Добавление элементов управления дизайном

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

Комбинированные поля

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

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

Чтобы создать поле со списком:

  1. В представлении «Макет формы» выберите вкладку «Дизайн макета форм» и найдите группу «Элементы управления».
  2. Выберите команду Combo Box, которая выглядит как раскрывающийся список.
  3. Ваш курсор превратится в крошечный значок перекрестия и выпадающего списка . Переместите курсор в место, где вы хотите вставить поле со списком, затем нажмите. Появится желтая строка, указывающая место, где будет создано ваше поле со списком.
    • В нашем примере, поле со списком будет расположен между в город поле и добавить в список рассылки.
  4. Появится диалоговое окно Combo Box Wizard . Выберите второй вариант, я наберу нужные значения и нажмите «Далее».
  5. Введите варианты, которые вы хотите отобразить в раскрывающемся списке. Каждый выбор должен быть в отдельности.
    • В нашем примере мы создаем поле со списком для добавления в список рассылки? поле в нашей форме, поэтому мы введем все возможные допустимые ответы для этого поля. Пользователи смогут выбрать один из трех вариантов из готового комбинированного поля: Нет, Да-Еженедельно и Только специальные предложения.
  6. При необходимости измените размер столбца, чтобы весь текст был виден. После того, как вы удовлетворены своим списком, нажмите «Далее».
  7. Выберите магазин, что значение в этом поле, а затем нажмите на стрелку раскрывающегося списка и выберите в поле, где вы хотите выбор из комбо - поля для записи. После выбора нажмите «Далее».
  8. Введите метку или имя, которое будет отображаться рядом с вашим полем со списком. Как правило, рекомендуется использовать имя поля, которое вы выбрали на предыдущем шаге.
  9. Нажмите «Готово» Ваше поле со списком появится в форме. Если вы создали свое поле со списком для замены существующего поля, удалите первое поле.
    • В нашем примере вы можете заметить, что теперь у нас есть два поля с тем же именем. Эти два поля отправляют информацию в одно и то же место, поэтому мы не нуждаемся в них обоих. Мы удалим его без поля со списком.
  10. Перейдите в режим просмотра формы, чтобы протестировать поле со списком. Просто нажмите стрелку раскрывающегося списка и убедитесь, что список содержит правильные варианты. Теперь поле со списком можно использовать для ввода данных.

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

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

Настройка параметров формы в Листе свойств

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

Изменение настроек формы

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

Чтобы скрыть поле:

  1. В представлении «Макет» или «Дизайн» выберите вкладку «Дизайн» и найдите группу «Инструменты». Щелкните команду Property Sheet.
  2. Лист свойств появится на панели справа. В форме выберите поле, которое вы хотите скрыть. В нашем примере мы скроем поле идентификатора клиента, потому что мы не хотим, чтобы кто-либо из наших пользователей редактировал его.
  3. В Листе свойств перейдите на вкладку «Формат» и найдите параметр «Видимый» в третьей строке.
  4. Нажмите стрелку раскрывающегося списка в столбце справа, затем выберите Нет.
  5. Перейдите к виду формы, чтобы убедиться, что поле скрыто.

Чтобы задать автоматическое заполнение поля текущей датой:

  1. В представлении «Макет» или «Дизайн» выберите вкладку «Дизайн» и найдите группу «Инструменты». Щелкните команду Property Sheet.
  2. Лист свойств появится на панели справа. В форме выберите поле, которое вы хотите автоматически заполнить в текущую дату. Это должно быть поле с типом данных даты. В нашем примере мы выберем поле «Дата отправки» в нашей форме «Заказы».
  3. В Листе свойств перейдите на вкладку «Данные» и выберите поле «Значение по умолчанию» в четвертой строке. Нажмите кнопку «Создатель выражений», которая отображается в столбце справа .
  4. Откроется диалоговое окно «Конструктор выражений». В списке Элементы выражения выберите слова «Общие выражения».
  5. В списке категорий выражений дважды щелкните текущую дату.
  6. Будет добавлено выражение для текущей даты. Нажмите «ОК».
  7. Перейдите в режим просмотра формы, чтобы убедиться, что это выражение работает. При создании в новую запись с этой формой, поле даты вы изменяли будет автоматически заполнять текущую дату.

Понравилась статья? Поделитесь ею с друзьями и напишите отзыв в комментариях!

maxfad.ru

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

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

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

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

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

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

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

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

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

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

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

17 июня 2007 года

koltaviy

816 / / 16.12.2004

Какой-то, ИМХО, глупый вопрос: если тебе нужно несколько списков на форме, значит помести на форму несколько списков. Логично?

Что конкретно у тебя не получается?

Стандартная задача:

1) Имеются таблицы:

— ТОВАРЫ (Код, Наименование, Цена)

— ЗАКАЗЫ (Код, Товары_Код, Количество) — упрощенный вариант таблицы

2) Создаешь форму, в качестве источника данных которой таблица ЗАКАЗЫ

3) Включаешь мастер на панели элементов

4) Перетаскиваешь элемент «Поле со списком»

5) «Объект поле со списком будет использовать значения из таблицы»

6) Из таблицы ТОВАРЫ

7) Необходимо включить поле Наименование

8) Назначаешь сортировку — если нужно

9) Скрыть ключевой столбец

10) Сохранить в поле Товары_Код

И все.. Готово!!

Razvrsti po

Access для начинающих. Урок 3: Выпадающие спискиДмитрий Кивганов

Pred 3 leti

Ускорить и облегчить ввод повторяющихся или длинных полей можно путем использования «выпадающих списков»….

Microsoft Access № 21: создание в Access зависимых полей со спискомАндрей Домостой

Pred 3 leti

Создадим в Access зависимые поля со списком. КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg ВКонтакте: vk.c…

Как сделать ЗАВИСИМЫЕ поля со списком в базе Access за 10 минутУроки по Microsoft Access

Pred 7 meseci

Если вы не знаете как создать зависимые поля со списком в базе данных Access, то посмотрите это видео. Всего…

Запрос с выпадающим списком в базе данных AccessУроки по Microsoft Access

Pred 10 meseci

Если вы не знаете как создать параметрический запрос с выпадающим списком в базе данных Access, то посмотрите…

Выпадающие списки в базах данных AccessSpecialistTV

Pred 2 leti

А вы знаете как быстро создать выпадающие списки для ввода данных в Access? На бесплатном уроке по работе с…

КАК и ЗАЧЕМ использовать мастер подстановок в Microsoft AccessУроки по Microsoft Access

Pred letom

Если вы не знаете зачем использовать мастер подстановки в программе Microsoft Access, то посмотрите это видео….

Как создать поле со списком на форме AccessУроки по Microsoft Access

Pred 7 meseci

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

Урок 3 Access. Поле со списком для работы с внешним ключомMoodle Donguu

Pred 3 leti

Microsoft Access № 55: создание контекстного меню в Access (макросы)Андрей Домостой

Pred 4 leti

Создадим контекстное меню при помощи макросов Access. КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg ВКонта…

Access для начинающих. Урок 9: Кнопки и кнопочные формыДмитрий Кивганов

Pred 3 leti

В уроке рассматривается как внедрить в форму удобные кнопки навигации по записям, открытия, закрытия форм…

Microsoft Access № 68: фильтрация при помощи полей со списком AccessАндрей Домостой

Pred 5 leti

Фильтрация в форме Access нужных записей при помощи полей со списком Access. КУПИТЬ ВИДЕОКУРС ИЛИ ЗАКАЗАТЬ БАЗУ:…

Microsoft Access № 35: автоматическое раскрытие поля со списком AccessАндрей Домостой

Pred 2 leti

Как реализовать в Access автоматическое раскрытие поля со списком при входе в него? КУПИТЬ ВИДЕОКУРСЫ ИЛИ…

Связанные выпадающие списки в ExcelNikolay Pavlov

Pred 3 leti

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

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

Pred 7 leti

www.teachvideo.ru/course/346 — еще больше обучающих роликов об офисе и работе с документами ответят на ваши вопросы…

11. Создание формы «Склад»GTIFEMBI

Pred 5 leti

Создаем форму с двумя раскрывающимися списками (для удобства ввода списка товаров и для выбора поставщика)

Microsoft Access № 13: автоматическое заполнение поля макросом данных AccessАндрей Домостой

Pred 3 leti

Как при помощи макроса данных Access автоматически задать значение логического поля (женский или мужской…

Microsoft Access № 50: динамическая всплывающая подсказка AccessАндрей Домостой

Pred 3 leti

Как установить динамическую всплывающую подсказку в базе данных Access. КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ:…

4.3 Подтаблицы Microsoft Access 2010.Dmitrii Dmitrii

Pred 2 leti

Раздел 4. Организация связей между таблицами и сохранение целостности данных. Основы системы управления…

Как создать таблицы в Microsoft Access за 8 минутУроки по Microsoft Access

Pred 3 leti

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Готовые базы Access: 7108.ru/g0203 Если…

Создание выпадающих списков в ExcelNikolay Pavlov

Pred 7 leti

4 способа создать выпадающий список на листе Excel. Подробности, файл с примером и текстовое описание planeta…

Как создать формы в Microsoft Access за 10 минутУроки по Microsoft Access

Pred 3 leti

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Готовые базы Access: 7108.ru/g0203 Если…

Видеокурс MS Office Access 2007 часть 2 720pВова Зеленюк

Pred 5 leti

Создание списка автозаполненияRoyalty Lex Moscow

Pred letom

Как создать список автозаполнения. Для тех , кто хочет получить более глубокие знания по Excel:: royaltylex.ru,…

Внедрение полей формы в документ MS Wordnefmont

Pred 2 leti

Внедрение полей формы в документ MS Word при подготовке шаблона У этого фильма есть продолжение, в котором…

Access для начинающих. Урок 4: Создание запросаДмитрий Кивганов

Pred 3 leti

В уроке разбирается как создать запрос при помощи конструктора запросов. Данные могут запрашиваться из…

вычисляемые запросы в AccessAlixander1990

Pred 8 leti

Краткое руководство без звука))

урок 27 Создание и заполнение формы.mp4Elena Ragulina

Pred 6 leti

Создание и заполнение формы в Access.

Access для начинающих. Урок 8: Навигационная формаДмитрий Кивганов

Pred 3 leti

Если Вам в процессе работы с базой данных приходится часто переключаться между различными формами, то данн…

создание взаимосвязанной таблицыГалина Анатольевна Иванова

Pred 4 leti

Как ЛЕГКО и БЫСТРО создать схему данных в Microsoft Access?Уроки по Microsoft Access

Pred 3 leti

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/lessons/ Готовые базы Access: 7108.ru/g0203…

10. Создание формы «Кадры»GTIFEMBI

Pred 5 leti

Создание простейшей формы — оболочки для заполнения созданных ранее таблиц.

Создание выпадающего меню (списка) в MS Excelmsofficeprowork

Pred 5 leti

Рассматриваем создание выпадающего списка в MS Excel. Текстовый вариант материала находиться по адресу: msof…

Как в Excel сделать Работа с базами данныхExcel Online

Pred 2 leti

Создание списка избранных значений поляSprutTP

Pred 8 leti

Учебник СПРУТ-ТП. Урок 4. Выбор данных из справочников СПРУТ-ТП Задание: Создание списка избранных значений…

Создание списка стандартных данных в Excel1kfirst

Pred 2 leti

Как сделать раскрывающийся список в ExcelИван Васильев

Pred 4 leti

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

13. Создание подчиненной формы «Заказы»GTIFEMBI

Pred 5 leti

Продолжаем разрабатывать сложную форму. На этот раз делаем ее подчиненную часть.

урок4 Использование форм в AccessСергей Титаков

Pred letom

Использование форм в Access для удобного ввода данных.

003 Команды контекстного меню кнопки Office в Excel 2007videouroki

Pred 3 leti

Подробный бесплатный самоучитель — видеокурс по Microsoft® Excel® 2007 расскажет Вам о большинстве функций программ…

Создание тестов в MS office ExcelКот Бегемот

Pred 5 leti

Урок 4 Access. Подчиненные формыMoodle Donguu

Pred 3 leti

Как сделать СЛОЖНЫЕ формы в базе данных Microsoft Access 2016 (2 часть)Уроки по Microsoft Access

Pred letom

Если вы не знаете как создать базу данных в программе Microsoft Access 2016, то посмотрите это видео. Всего за 6 уроков…

Выбор из списка значений характеристикETradeSupportTeam

Pred 6 leti

Добавлена возможность в программу E-Trade Content Creator при редактировании (добавлении) описания товара выбирать…

Привязываем таблицыTorment WeDo

Pred 4 leti

Как привязать таблицы к оболочке в базе данных MS Access.

Текст — многоуровневые спискиTheTeachvideo

Pred 8 leti

Текст — многоуровневые списки.

Запрос на поиск записи без подчиненных в базе данных Microsoft AccessУроки по Microsoft Access

Pred letom

Узнайте, как найти записи без подчиненных в Access с помощью запроса. Продолжаем работать с базой данных Access…

Выпадающий список с добавлением новых элементов в MS Excel 2010из Китая с любовью

Pred 3 leti

В данном уроке показано как в MS Excel 2010 сделать выпадающий список с добавлением новых элементов с помощью…

Microsoft Access № 67: решение проблемы форматирования в отчёте AccessАндрей Домостой

Pred 5 leti

Когда нас может выручить режим макета при работе с отчётом Access. КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.g…

Office 2007 Урок 1 Панель быстрого доступаKak V

Pred 5 leti

Word — Панель быстрого доступа.

MS Excel. Урок 0003. Создание телефонной книгиАлександр Бурда

Pred 4 leti

В этом видео-уроке показано, как в MS Excel 2007 создать собственную базу с номерами телефонов.

word-office.ru

Как в 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)

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

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

word-office.ru

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

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

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

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

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

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

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

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

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

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

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

Sort by

Как создать поле со списком на форме AccessУроки по Microsoft Access

7 months ago

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

Microsoft Access № 21: создание в Access зависимых полей со спискомАндрей Домостой

3 years ago

Создадим в Access зависимые поля со списком. КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg ВКонтакте: vk.c…

Microsoft Access № 68: фильтрация при помощи полей со списком AccessАндрей Домостой

5 years ago

Фильтрация в форме Access нужных записей при помощи полей со списком Access. КУПИТЬ ВИДЕОКУРС ИЛИ ЗАКАЗАТЬ БАЗУ:…

Access для начинающих. Урок 3: Выпадающие спискиДмитрий Кивганов

3 years ago

Ускорить и облегчить ввод повторяющихся или длинных полей можно путем использования «выпадающих списков»….

Как сделать ЗАВИСИМЫЕ поля со списком в базе Access за 10 минутУроки по Microsoft Access

7 months ago

Если вы не знаете как создать зависимые поля со списком в базе данных Access, то посмотрите это видео. Всего…

Урок 3 Access. Поле со списком для работы с внешним ключомMoodle Donguu

3 years ago

Как задать фильтр при помощи полей со списком AccessУроки по Microsoft Access

7 months ago

Если вы не знаете, как задать фильтр при помощи полей со списком в базе данных Microsoft Access, то посмотрите это…

Запрос с выпадающим списком в базе данных AccessУроки по Microsoft Access

9 months ago

Если вы не знаете как создать параметрический запрос с выпадающим списком в базе данных Access, то посмотрите…

Как создать ЗАПРОСЫ НА ДОБАВЛЕНИЕ в Microsoft Access за 8 минутУроки по Microsoft Access

Year ago

Если вы не знаете как создать запрос на добавление в программе Microsoft Access, то посмотрите это видео. Продолжае…

Выпадающие списки в базах данных AccessSpecialistTV

2 years ago

А вы знаете как быстро создать выпадающие списки для ввода данных в Access? На бесплатном уроке по работе с…

Microsoft Access № 35: автоматическое раскрытие поля со списком AccessАндрей Домостой

2 years ago

Как реализовать в Access автоматическое раскрытие поля со списком при входе в него? КУПИТЬ ВИДЕОКУРСЫ ИЛИ…

Microsoft Access № 31: суммирование в Access значений многозначного поля со спискомАндрей Домостой

Year ago

Как суммировать в Access все выбранные значения многозначного поля со списком ? КУПИТЬ ВИДЕОКУРС ИЛИ ЗАКАЗАТ…

КАК и ЗАЧЕМ использовать мастер подстановок в Microsoft AccessУроки по Microsoft Access

Year ago

Если вы не знаете зачем использовать мастер подстановки в программе Microsoft Access, то посмотрите это видео….

Как создать ВЫЧИСЛЯЕМЫЕ запросы в базе AccessУроки по Microsoft Access

Year ago

Если вы не знаете, как создаются запросы с вычислениями в базе данных Microsoft Access, то посмотрите это видео….

Microsoft Access № 11: автономное поле подстановки в AccessАндрей Домостой

3 years ago

Как создать автономное поле подстановки Access со списком, которое будет брать значения из самого себя? КУПИТЬ…

Access 2013 Урок 12 Объединение полей с помощью вычисляемого типа данныхIT видео

2 years ago

Microsoft Access № 12: совершенствование логического поля AccessАндрей Домостой

3 years ago

Как сделать, чтобы в логическом поле Access вместо флажков были нужные текстовые значения? КУПИТЬ ВИДЕОКУРСЫ…

Основные свойства полей таблицы Microsoft AccessУроки по Microsoft Access

Year ago

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Если вы не знаете какие свойства…

Microsoft Access № 13: автоматическое заполнение поля макросом данных AccessАндрей Домостой

3 years ago

Как при помощи макроса данных Access автоматически задать значение логического поля (женский или мужской…

Запрос на поиск записи без подчиненных в базе данных Microsoft AccessУроки по Microsoft Access

Year ago

Узнайте, как найти записи без подчиненных в Access с помощью запроса. Продолжаем работать с базой данных Access…

Флажки и группа переключателей в базе данных AccessУроки по Microsoft Access

7 months ago

Если вы не знаете, как добавить элементы флажки и переключатели на форму Access, то посмотрите это видео. Также…

Как создать отчеты в Microsoft Access за 10 минутУроки по Microsoft Access

3 years ago

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Готовые базы Access: 7108.ru/g0203 Если…

Как создать вычисляемые поля в форме AccessУроки по Microsoft Access

7 months ago

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

Как открыть форму Access на ОПРЕДЕЛЕННОЙ записиУроки по Microsoft Access

7 months ago

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

Внедрение полей формы в документ MS Wordnefmont

2 years ago

Внедрение полей формы в документ MS Word при подготовке шаблона У этого фильма есть продолжение, в котором…

Microsoft Access № 37: фильтр по форме AccessАндрей Домостой

Year ago

Что такое фильтр по форме Access? КУПИТЬ ВИДЕОКУРС ИЛИ ЗАКАЗАТЬ БАЗУ: goo.gl/zgcfyg ВКонтакте: vk.com/access_007 Google :…

Что такое условное форматирование элементов формы в базе AccessУроки по Microsoft Access

7 months ago

Если вы не знаете, что такое условное форматирование в базе данных Access, то посмотрите это видео. Условное…

Как сделать формы в базе данных Microsoft Access 2016 (1 часть)Уроки по Microsoft Access

Year ago

Если вы не знаете как создать базу данных в программе Microsoft Access 2016, то посмотрите это видео. Всего за 6 уроков…

Создание командной кнопки для формы БД AccessУроки по Microsoft Access

10 months ago

Если вы не знаете, как создать кнопку в форме Access, то посмотрите это видео. Что вас ждет в этом видео? Разбер…

Как сделать СЛОЖНЫЕ формы в базе данных Microsoft Access 2016 (2 часть)Уроки по Microsoft Access

Year ago

Если вы не знаете как создать базу данных в программе Microsoft Access 2016, то посмотрите это видео. Всего за 6 уроков…

Как создать формы в Microsoft Access за 10 минутУроки по Microsoft Access

3 years ago

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Готовые базы Access: 7108.ru/g0203 Если…

Как создать форму с помощью КОНСТРУКТОРА в базе данных ACCESSУроки по Microsoft Access

10 months ago

Если вы не знаете как создать форму Access в режиме конструктора, то посмотрите это видео. В этом скринкасте…

Microsoft Access № 56: изменение поля счётчика AccessАндрей Домостой

4 years ago

Как задать начальное значение поля счётчика Access и шаг приращения? КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗАТЬ БАЗУ:…

3.10 Вычисляемые поля Microsoft Access 2010.Dmitrii Dmitrii

2 years ago

Раздел 3. Создание базы данных и работа с таблицами. Основы системы управления базами данных Microsoft Access 2010.

Microsoft Access № 5: формат поля Access и поясняющая надписьАндрей Домостой

3 years ago

Формат поля Access помогает автоматически создавать поясняющие надписи для значения поля. КУПИТЬ ВИДЕОКУРСЫ…

Что такое ключевые поля и индексы в БД Microsoft AccessУроки по Microsoft Access

Year ago

Если вы не знаете, что такое первичный ключ, как создаются ключевые поля и для чего нужно использовать индек…

Как связать таблицы в базе данных Microsoft Access 2016Уроки по Microsoft Access

Year ago

Если вы не знаете как создать базу данных в программе Microsoft Access 2016, то посмотрите это видео. Всего за 6 уроков…

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

7 years ago

www.teachvideo.ru/course/346 — еще больше обучающих роликов об офисе и работе с документами ответят на ваши вопросы…

ЛЕГКОЕ создание таблиц в базе данных Microsoft AccessУроки по Microsoft Access

2 years ago

Узнайте, как легко и быстро создать базу данных Access — accesshelp.ru/category/uroki/ Если вы не знаете с чего начать…

Поиск повторяющихся записей в запросах AccessУроки по Microsoft Access

Year ago

Узнайте, как найти повторяющиеся данные в Access с помощью запроса. Продолжаем работать с базой данных Access…

Microsoft Access № 3: формат для пустых и заполненных значений поля AccessАндрей Домостой

3 years ago

Пустые и заполненные значения полей в Access будут отформатированы (отображаться) по-разному. КУПИТЬ ВИДЕОКУР…

Как сбросить значения поля счетчика в базе Access (3 ПРОСТЫХ способа)Уроки по Microsoft Access

11 months ago

Если вы не знаете, как сбросить значения поля счетчика в базе данных Microsoft Access, то посмотрите это видео. В…

Access. Таблицы. 1. Создание таблиц, поля, типы данных, основные свойства.Vigil IT-video

Year ago

В видеоуроке рассказывается об основных спосбах создания таблиц в СУБД Access 2010, типах данных и основных…

Поле подстановки Access 2010nmdsoft

6 years ago

Как то так.

урок4 Использование форм в AccessСергей Титаков

Year ago

Использование форм в Access для удобного ввода данных.

Access для начинающих. Урок 2: Быстрый старт — таблица, формаДмитрий Кивганов

3 years ago

Создаем простую базу данных из одной таблицы и делаем для нее 2 формы для удобства заполнения. === Все уроки…

Создание списка избранных значений поляSprutTP

8 years ago

Учебник СПРУТ-ТП. Урок 4. Выбор данных из справочников СПРУТ-ТП Задание: Создание списка избранных значений…

Microsoft Access №59: форма подстановки в AccessАндрей Домостой

5 years ago

Создание в Access вспомогательной формы для подстановки значений в главную форму. КУПИТЬ ВИДЕОКУРСЫ ИЛИ ЗАКАЗ…

Урок 4 Access. Подчиненные формыMoodle Donguu

3 years ago

Создание отчета в Access с помощью мастераУроки по Microsoft Access

6 months ago

Если вы не знаете как создать отчет в Access с помощью мастера, то посмотрите это видео. В этом уроке поговорим…

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

Список может состоять из одного или нескольких столбцов, однако при выборе элемента списка в связанное с ним поле таблицы передается только одно значение, например в приведенных на рис. 9.14 списках это «КодТипа» (CategoryID) и «КодСотрудника» (EmployeeID), которые в списках даже не отображаются. Внешний вид списка и его содержимое определяются его свойствами, которые можно задать вручную, а можно воспользоваться мастером при размещении списка в форме, который, запросив нужную информацию, определит большую часть свойств автоматически. Создание списка с помощью мастера уже демонстрировалось в первой части книги. Мастер списков очень похож на Мастера, с помощью которого создаётся элемент Поле со списком (см. разд. «Создание и удаление элементов управления» гл. 5). Для того чтобы список правильно работал, нужно корректно определить его важнейшие свойства — это первые восемь свойств на рис. 9.15. Соответственно, если он работает неправильно, именно эти свойства нужно проверять в первую очередь.

Рис. 9.14. Элементы управления Список

Рис. 9.15. Свойства элемента управления Список

  • Имя (Name) — название данного элемента управления. Нужно дать ему осмысленное название, т. к. оно используется во всех ссылках на этот элемент управления в выражениях, программах и макросах.
  • Данные (Control Source) — название поля в таблице, которое будет содержать выбранное в списке значение.
  • Следующие два свойства: Тип источника строк (Row Source Type) и Источник строк — (Row Source) определяют источник данных для элементов списка. В приведенном примере в качестве источника данных используется таблица «Типы» (Categories), поэтому в свойстве Тип источника строк (Row Source Type) выбрано значение Таблица или запрос (Table/Query), а в качестве значения свойства Источник строк (Row Source) указана инструкция SQL, которая выбирает нужные данные из таблицы (поля «КодТипа» и «Катерогия»): SELECT Типы.КодТипа, Типы.Категория FROM Типы; для английской версии Access: SELECT Categories.CategorylD, Categories.CategoryName FROM Categories;
  • Чтобы элементы в данном списке были отсортированы в алфавитном порядке по полю «Категория», в конец инструкции SQL нужно дабавить предложение: ORDER BY Типы.Категория (ORDER BY Categories.CategoryName).

Замечание

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

  • Свойство Число столбцов (Column Count) имеет значение 2, т. е. в списке будет два столбца (выбираются два поля), однако свойство Ширина столбцов (Column Width) определяет ширину первого столбца, равной 0, т. е. он не будет отображаться на экране.
  • Несмотря на то, что первый столбец является скрытым, его тоже можно присоединить к полю таблицы, как и любой другой столбец списка, чтобы в выбранном элементе списка значение именно из этого столбца (в нашем примере — это значение поля «КодТипа») записывалось в базовую таблицу формы. Чаще всего именно первый слобец списка требуется присоединить к полю источника данных. Номер присоединенного столбца указывается в свойстве Присоединенный столбец (Bound Column).
  • Свойство Заглавия столбцов (Column Heads) в нашем примере имеет значение Нет (No), поэтому они не будут отображаться в списке.

Кроме рассмотренного, существуют еще три типа источников строк для элемента управления Список (ListBox):

  1. Список значений. Если количество строк в списке невелико и постоянно, можно все значения задать прямо в окне свойств элемента. В этом случае в свойстве Тип источника строк выбирается значение Список значений (Value List), а значения элементов списка перечисляются через точку с запятой без пробелов в свойстве Источник строк. Например:

    понедельник;вторник;среда;четверг;пятница;суббота;воскресенье

    Если элементы списка содержат пробелы, включите их в кавычки. Чтобы все дни недели отобразились в одном столбце списка, установите значение свойства Число столбцов равным 1, а свойству Ширина столбцов присвойте любое ненулевое значение, например 2, 5см (2, 5cm).

    Если нужно вывести два столбца значений, то в свойстве Источник строк в перечислении значений задаются последовательно пары значений, число столбцов устанавливается равным 2, а в свойстве Ширина столбцов задается пара значении, например 2, 5см; Зсм (2, 5cm; 3cm).

  2. Список полей. Этот тип источника строк (значение Список полей (Filed List) свойства Тип источника строк) предназначен для вывода в списке имен полей таблицы или .запроса. Имя таблицы или запроса задается в свойстве Источник строк. Таким способом в списке можно отобразить имена полей таблиц, чтобы предоставить возможность их выбора.
  3. Определяемая пользователем функция. Наконец, источником строк для списка может быть функция, написанная на языке VBA, которая заполнит список значениями. В этом случае свойство Тип источника строк нужно установить, как это показано на рис. 9.16, т. е. указать имя функции без знака равенства (=) и без скобок, а свойство Источник строк должно остаться пустым. Использовать определяемую пользователем функцию полезно, когда требуется заполнить список вычисленными значениями или когда содержимое списка должно динамически меняться в зависимости от содержимого других элементов управления. В первом случае вычисления могут проводиться даже над данными, которых нет в базе (например, когда нужно вычислить определенные даты, начиная с текущей) Второй вариант окажется подходящим, например, если при выборе категории товаров в одном списке, в другом должен отображаться набор товаров именно этой категории.

Рис. 9.16. Использование функции в качестве источника строк

Несколько слов о третьем типе источника строк списка. Эта функция должна иметь такой список аргументов:

Function Имя_функции(fid As Control, id As Variant, _

row As Variant, col As Variant, code As Variant) As Variant

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

Поясним значения ее аргументов и возвращаемого значения.

  • code — «код действия», определяет, какое действие должна выполнить функция при данном вызове. Это могут быть следующие действия: инициализация списка, его открытие, получение количества строк, количества столбцов, ширины столбцов, самих элементов списка и завершение работы. Всем этим действиям соответствуют зарезервированные константы VBA.
  • fid — ссылка на элемент управления Список или Поле со списком, который заполняется элементами, с помощью данной функции.
  • id — уникальный идентификатор заполняемого элемента управления. Этот аргумент полезен, когда такая функция используется для заполнения нескольких элементов управления, чтобы их различить.
  • row — текущий номер строки для заполняемого элемента списка (начиная с 0).
  • col — текущий номер столбца для заполняемого элемента списка (начиная с 0).
  • Возвращаемое значение и его тип зависят от текущего «кода действия», переданного в функцию. Например, для кода acLBGetValue (получить данные) это должно быть строковое значение элемента списка в заданной строке row и столбце col.

Все значения аргументов формируются и передаются в функцию самим Access. Разработчику только остается их обработать.

О создании функции, выполняющей роль источника данных для списка или поля со списком, можно получить подробную информацию в справочной системе Access 2002, в разд. «Справка по Microsoft Access, Программирование на Visual Basic, Справочник по Visual Basic для Microsoft Access, Свойства, Q-R, RowSourceType» (Microsoft Access Help, Programming in Visual Basic, Microsoft Access Visual Basic Reference, Properties, Q-R, RowSourceType Property). Пример использования такой функции можно найти также на компакт-диске, являющемся дополнительным приложением к данной книге, который продается отдельно.

Свойство Присоединенный столбец (Bound Column), определяющее тот столбец списка, значение которого при выборе становится значением элемента управления, может иметь значение 0. В этом случае значением элемента Список (List Box) станет индекс (номер) выбранного элемента в списке.

Элемент управления Список интересен еще и тем, что он позволяет делать множественный выбор в списке, т. е. в нем можно выбрать одновременно несколько элементов, чего не позволяет делать элемент Поле со списком (Combo Box). Такая возможность требуется довольно часто, когда задаются критерии отбора записей. Например, в базе данных объектов недвижимости надо найти интересующие клиента квартиры, а его интересуют квартиры в определенных районах города. Можно, конечно, выбирать в списке по очереди сначала один район, чтобы выбрать все квартиры в данном районе, потом другой и т. д. Однако удобнее в этом случае использовать для указания интересующих районов список, в котором выбираются сразу все интересующие районы, а потом формируется соответствующий запрос к базе данных.

Определить, как пользователь будет выбирать значения из списка, можно с помощью свойства Несвязное выделение (Multi Select). Его можно найти на вкладке Другие (Other) окна свойств. По умолчанию это свойство имеет значение Отсутствует (None). В этом случае разрешается ныбор только одного элемента из списка. Но это свойство может иметь значения Простой (Simple) и Со связным выбором (Extended). В первом случае разрешается множественный выбор просто щелчком мыши по нужным элементам, а во втором список работает так, как почти все списки в Windows, т. е. можно использовать клавиши и для выделения смежных и несмежных элементов. Результаты выбора хранятся в специальном массиве и могут быть использованы программами VBA.

word-office.ru

Pers.narod.ru. Обучение. Зависимые списки в Access

Pers.narod.ru. Обучение. Зависимые списки в Access

Этот сайт больше не обновляется. Подключите Javascript, чтобы увидеть новый адрес страницы или перейдите к статье

Довольно распространена ситуация, когда выбор значения из одного списка должен приводить к обновлению второго, подчинённого списка, недавно я описывал такую реализацию на PHP, а теперь вот понадобилась в Access.

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

"Примечания" здесь добавлены просто для иллюстрации отношения "один к одному" как связи между двумя ключами.

Теоретически сотрудник может переводиться как на другую должность в рамках отдела, так и в другой отдел, что приведёт к необходимости выбрать должность из списка должностей нового отдела. То есть, по выбору для сотрудника нового отдела из верхнего списка, должен обновляться и нижний список "Наименование должности":

Как решить эту типовую задачу, мы и поговорим.

1. Источником записей формы "Сотрудники" делаем соответствующую таблицу, форму можно сгенерировать мастером, а затем удалить из неё поля "Код отдела" и "Код должности".

2. Вместо первого поля, включив кнопку "Мастера" на панели элементов Access, сгенерируем список, выводящий вместо кодов названия отделов. Сделать это можно так:

  • форма выведена в режиме конструктора, нажимаем кнопку "Поле со списком", показываем мышкой границы будущего списка. По отпускании кнопки мыши появится окно "Мастер создания полей со списком";
  • выбираем "Объект будет использовать значения из таблицы или запроса", жмём "Далее";
  • выбираем таблицу "Отделы", жмём "Далее";
  • переносим оба поля таблицы отделов в №выбранные поля" (кнопкой >>), жмём "Далее";
  • убеждаемся, что список виден, а галочка "Скрыть ключевой столбец" включена, жмём "Далее";
  • выбираем "Сохранить в поле:" и поле "КодОтдела", жмём "Далее"; задаём подпись к списку и жмём "Готово".

3. С помощью конструктора запросов составляем следующий запрос:

Здесь "ПолеСоСписком16" - наименование компоненты верхнего списка.

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

Увидеть это окно можно, щёлкнув правой кнопкой мыши на втором списке и выбрав "Свойства".

5. Теперь самое главное. В списке компонент выбираем "Форма" вместо имени поля со списком, выбираем вкладку события, событие Текущая запись, щёлкаем по кнопке с многоточием, подтверждаем, что нам нужен построитель программы, а не макроса или выражения:

Открылся редактор Visual Basic и появилась пустая функция с именем Form_Current. Пишем туда единственную строчку кода, которая обновит нижний список:

Private Sub Form_Current() Me.ПолеСоСписком20.Requery End Sub

Здесь предполагается, что имя нижнего списка ПолеСоСписком20.

6. Ту же самую строчку кода добавляем на событие "До обновления" верхнего списка, у меня получилось вот что:

Private Sub ПолеСоСписком16_BeforeUpdate(Cancel As Integer) Me.ПолеСоСписком20.Requery End Sub

7. Готово, теперь при выборе отдела из верхнего списка в нижний список подгружается список должностей этого отдела. Все остальные возможности приложения - стандартные и не потребуют написания кода.

 Скачать этот пример в архиве ZIP (41 Кб)

Аналогично можно организовать любые другие 2 подчинённых списка на Access, когда при выборе значения из одного списка должны загружаться новые значения во второй список.

Ну и общие соображения по зависимым спискам в Access:

Если первый список не связан с полем источника записей формы, то обновление надо ставить в обработчик события BeforeUpdate ("До обновления" в окне свойств конструктора формы в русских версиях Access-а), либо в AfterUpdate.

Если же первый список связан с полем источника записей формы, то обновление надо ставить в обработчик события Current ("Текущая запись") формы и BeforeUpdate (AfterUpdate) первого списка.

Данный способ действует только для одиночной формы (на экране видно одну запись).

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

pers.narod.ru